java - 非常简单的构造函数问题,我就是无法得到。 java

标签 java constructor default-constructor

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

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

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

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

最佳答案

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

所以第一点意味着您创建一个不带参数的对象,当您从主方法调用它时,它将打印一条消息

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");
    }
}

并且您的示例不起作用,因为您的打印方法不在任何方法中,并且无法从其所在位置执行。

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

关于java - 非常简单的构造函数问题,我就是无法得到。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6377153/

相关文章:

java - ViewModel 没有零参数构造函数错误,原因是 ViewModelFactory 一直为 null(不是 100% 确定)

c++ - C++ 中自定义类的 HashMap 中的默认值

c++ - 常量变量初始化仅适用于成员初始化列表

wpf - 在XAML中命名没有默认构造函数的用户控件

java - Eclipse:java.lang.NoClassDefFoundError:javax/activation/DataHandler

java - AlertDialog 自动关闭

java - 在工厂中使用反射

c++ - 为什么我没有收到有关在 ctor 中访问未初始化成员变量的编译器警告?

c++ - 如果我们使用参数构造函数,我们是否需要在 C++ 中提供默认构造函数?

c++ - 以最紧凑的方式调用默认(也称为无参数)构造函数