我正在尝试创建一个抽象类,当我实例化该类的新对象时,我正在尝试在类中设置一个变量。
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”。
有没有办法使用像我正在尝试的那样的方法来实现这一目标?
答案 0 :(得分:5)
您应该使用初始化程序块:
TestClass t = new TestClass() {
{ // initializer block
testString = "TEST";
}
};
答案 1 :(得分:0)
public String testString = "test";
在Main中的main函数中创建一个变量,该变量与您想要更改的变量分开。
尝试:
Super.testString = "test";
从Super。
更改testString的值