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