Java:抽象类中的静态字段
我只是从一个例子开始,这最好地解释了它:
public abstract class A{
static String str;
}
public class B extends A{
public B(){
str = "123";
}
}
public class C extends A{
public C(){
str = "abc";
}
}
public class Main{
public static void main(String[] args){
A b = new B();
A c = new C();
System.out.println("b.str = " + b.str);
System.out.println("c.str = " + c.str);
}
}
这将打印出来:
b.str = abc
c.str = abc
但是我想要一个解决方案,其中实例化超类的每个子类都有自己的类变量,同时我希望能够通过抽象超类中定义的标识符或方法调用来引用该类变量。
所以我希望输出是:
b.str = 123
c.str = abc
这可行吗?