簡體   English   中英

如果初始化方法的參數未在類中聲明,會發生什么?

[英]What will happen if the initialization method's parameter does not get claimed in the class?

通常,Java類將是:

class A {
    String name;
    public A(String name_parameter) {
        this.name = name_parameter;
    }

    public static void main(String[] args) {
        A aaa = new A("ok");
        System.out.println(aaa.name);  // >>> ok
    }

}

我首先在類中聲明一個String name ,然后在初始化實例時,我將this.name分配給name_parameter 這樣就可以找到instance.name ,在這種情況下是"ok"

如果我創建一個沒有名稱的類,但仍然在初始化方法中強制使用name參數,該怎么辦?

class A {

    public A(String name) {

    }

    public static void main(String[] args) {
        A aaa = new A("ok");  
    }

}

顯然, aaa.name將不存在。 但是這個代碼仍然可以使用,這是否會有用? 如果以這種方式實施,有什么辦法可以獲得"ok"嗎?

謝謝,

它不會有用,因為您沒有為對象“a”分配任何屬性,所以無法獲得“ok”。 順便說一句,您可以參考這些鏈接以更好地理解。 1) oop原則 2) 類和實例變量

如果以這種方式實現,你永遠不會得到“ok”字符串,因為構造函數不會將它設置為任何類的字段。

不,沒有辦法讓你“好”

在這種情況下我會想到的方法是將其視為普通方法。 如果你在方法中沒有做任何事情就不會發生任何事情。 在這種情況下,沒有秘密的事情發生。

暫無
暫無

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

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