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

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

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

当我试图打印该消息时,它给了我一个错误。我很困惑,我不是要你以任何方式为我做我的实验室,但我对此感到很困惑,它已经失控了。

4

2 回答 2

2

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

顺便说一句,默认构造函数和无参数构造函数之间存在差异。默认构造函数始终是无参数构造函数,并且会自动提供以防万一,但反之则不然。

于 2011-06-16T19:05:36.637 回答
2

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

所以第一点意味着你创建一个没有参数的对象,当你从主方法调用它时会打印一条消息

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 编程基础知识的书籍和文章。

于 2011-06-16T19:12:33.340 回答