有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

很简单的构造函数问题,我就是搞不懂。JAVA

  • 使用打印消息的默认构造函数(不带参数的构造函数)创建一个类。在main()方法中,创建此类的对象
  • 将重载构造函数添加到步骤1中的代码中。新的构造函数应该接受一个字符串参数,并将其与消息一起打印。修改main(),以便使用新构造函数创建此类的第二个对象

所以第二部分就像是用另一种语言写的,我完全不知道怎么做,第一部分是我到目前为止得到的:

public class Constructors {
    System.out.println("Message");
    public static void main(String[] args) {
    }
}

当我试图打印那条消息时,它给了我一个错误。我很困惑,我没有要求你用任何方式为我做我的实验室,但我很困惑,这是失控的


共 (2) 个答案

  1. # 1 楼答案

    方法调用应该是方法体或初始值设定项表达式或块的一部分。将println调用移动到一个实际的构造函数(用谷歌搜索),你就可以开始了。您可以浏览针对初学者的“Starting Java(我的粘性线程)”线程(随时提供建议)

    顺便说一句,默认和无参数构造函数之间有区别。默认构造函数始终是无参数构造函数,如果您没有,则会自动提供该构造函数,但反之亦然

  2. # 2 楼答案

    构造函数不应该是类的名称,构造函数是创建类(对象)实例的方法

    因此,第一点意味着您创建了一个没有参数的对象,当您从main方法调用它时,该对象将打印一条消息

    public class WhateverClass{
    
        //this is the first constructor
        public WhateverClass(){
    
            System.out.prinln("A message");
    
        }
    
        //this is the main method
        public static void main (String[] args){
            new WhateverClass(); //will print the message
        }
    }
    

    然后创建另一个构造函数,它将重载第一个构造函数,因为它将具有相同的签名,除了它将接受一个参数。然后从main方法调用它,与第一个方法完全相同。在这里:

    public class WhateverClass{
    
        //this is the first constructor
        public WhateverClass(){
    
            System.out.prinln("A message");
    
        }
    
        //this is the second constructor
        public WhateverClass(String message){
    
            System.out.prinln(message);
    
        }
    
        //this is the main method
        public static void main (String[] args){
            new WhateverClass(); //will print the message
            new WhateverClass("A message");
        }
    }
    

    您的示例不起作用,因为您的print方法不在任何方法中,并且不能从它所在的位置执行

    您应该真正阅读有关OO编程基础知识的书籍和文章