Java在实例化抽象类时更改变量

标签 java class abstract

我正在尝试创建一个抽象类,在实例化该类的新对象时,我正在尝试在该类中设置一个变量。

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”。

有没有什么办法可以使用像我正在尝试做的那样的方法来实现这一目标?

最佳答案

你应该使用初始化 block :

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

关于Java在实例化抽象类时更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35495760/

相关文章:

java - 使用 Hibernate Query.list() 避免类型安全警告

java - Class<?>#getTypeParameters() 的返回类型是什么?

java - 为什么静态嵌套类不能访问外部类的 "this"指针?

java - 速度分析器 - 基于参数类型的抽象方法或开关

Java 注释处理器 : check if TypeMirror implements specific generic interface

JavaFX:为什么我必须按几次按钮才能背景改变?

java - 将 jmockit 期望与匹配器和原始类型一起使用

java - 在Java中,是否可以创建一个没有类和构造函数的对象?

java - 尽管实现了,具体类方法仍然从抽象类中抛出异常

typescript - 在 Typescript 中混入抽象基类