簡體   English   中英

Java在實例化抽象類時更改變量

[英]Java Changing variables while instantiating an abstract class

我正在嘗試創建一個抽象類,當我實例化該類的新對象時,我正在嘗試在類中設置一個變量。

abstract class TestClass { // Class I'm trying to change a variable in.
    public String testString;
}

public class Main {
    public static void main(String[] args) {
        TestClass t = new TestClass() {
            public String testString = "TEST"; // Where I'm trying to set it
        };
        System.out.println(t.testString);
    }
}

輸出:

null

我不想輸出“TEST”。

是否有任何方法可以使用像我正在嘗試的方法來實現這一點?

您應該使用初始化程序塊:

TestClass t = new TestClass() {
    { // initializer block
        testString = "TEST";
    }
};
public String testString = "test";

在Main中的main函數中創建一個變量,該變量與您要更改的變量分開。

嘗試:

Super.testString = "test"; 

從Super更改testString的值。

暫無
暫無

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

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