无法在Java中获取构造函数方法以打印到控制台



我遇到了一个问题,当对象从main方法中实例化时,试图让构造函数方法打印到控制台:

public class HelloWorld {
    public static void main(String[] args) {
        Message message = new Message();
        System.out.println(message.helloWorld());
    }  
}

下面是已经实例化的对象:

public class Message {
    public void Message() {
        // constructor method
        System.out.println("Constructor Method!");
    }
    public String helloWorld() {
        return "Hello, World!";
    }
}

我假设构造函数方法将打印到控制台?

没有声明构造函数:

public void Message() {

构造函数没有返回类型;这是一种方法。移除void:

public Message() {

问题:

 public void Message() {

它不是构造函数,它是一个方法,因此在创建类的实例时不会调用它

应该是这样的:

 public Message()

这不是一个构造函数,而是一个普通的方法,你必须删除void才能成为一个构造函数:

public Message(){…}

public void Message(){…}

为什么你认为构造函数方法应该打印?它不会打印。因为您没有声明构造函数。你只有两个方法。

这不是构造函数。这是另一种方法。构造函数没有返回类型

public void Message() {
        // constructor method
    System.out.println("Constructor Method!");
} 

但是如果你有这样的

public Message() {
        // constructor method
    System.out.println("Constructor Method!");
}

那么它就是一个构造函数它会得到print

构造函数声明错误,public void Message() { }应该是public Message() { }:

public class Message {
public Message() { // <-- Here's the correct constructor declaration
    System.out.println("Constructor Method!");
}
public String helloWorld() {
    return "Hello, World!";
}
}

最新更新