Я пытаюсь поместить метод hello
в базовый класс A
, и я хочу, чтобы он отображал значение x
, установленное в подклассе.
Метод hello
никогда не вызывается экземпляром A
- этот класс является чистым базовым классом и никогда не создается.
Переменная x
является классификатором для указания, откуда вызывается метод hello (это значение фактически сохраняется в базе данных);
Если в подклассе вызывается hello
, как вы гарантируете, что значение x
является значением, установленным в подклассе?
public class A{
protected static String x = "A";
public void hello(){
System.out.println(x);
}
}
public class B extends A{
protected static String x = "B";
//...
hello();
}
public class C extends A{
protected static String x = "C";
//...
hello();
}