[英]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.