Я только начинаю с примера, который объясняет это лучше всего:
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
Это выполнимо?