簡體   English   中英

無法獲取構造函數方法以使用Java打印到控制台

[英]Cannot get constructor method to print to the console in 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()

您為什么認為應該打印構造方法? 它不會打印。 因為您尚未聲明構造函數。 您只有兩種方法。

這不是構造函數。 這只是另一種方法。 構造函數沒有返回類型。

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

但是如果你有這樣的話

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

然后它是一個構造函數,它將得到打印

錯誤的構造函數聲明, 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!";
}
}

這不是構造函數,而是普通方法,您必須刪除void才能成為構造函數:

公共Message(){...}

公共無效 Message(){...}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM