Я следующий сценарий:Java: Использование метода родительского класса для доступа дочернего класса переменной
public class A {
private int x = 5;
public void print()
{
System.out.println(x);
}
}
public class B extends A {
private int x = 10;
/*public void print()
{
System.out.println(x);
}*/
public static void main(String[] args) {
B b = new B();
b.print();
}
}
На выполнение кода, выход: 5.
Как получить доступ к классу ребенка (Б) переменная (x) через метод родительского класса?
Может ли это быть сделано без переопределения метода print() (т. Е. Раскомментирование его в B)?
[Это важно, потому что на переопределение придется переписывать весь код для печати() метод снова]
EDITED
Больше Разъяснение: -
- Мотивом вопрос заключается в том, чтобы использовать значение частной переменной дочернего класса из метода родительского класса. Это не требует изменения значения частной переменной родительского класса для достижения желаемого результата.
- Ответы, размещенные здесь, однако, привели меня к моему желаемому ответу, который я опубликовал ниже.
(Спасибо всем за ваше время и помощь)
Если вы хотите напечатать переменную B '' ', вы намерены, чтобы' x' отличались от '' '' 'или они должны быть одинаковыми? –
@WeiHao из кода очевидно, что 'x' в' A' должно быть 5, то в 'B' должно быть 10. Он хочет' B.print() 'выводить 10, потому что он не доволен с выходом 5. Таким образом, он ожидает, что они будут разными. –
@Jayant Это не о родителе, у которого нет информации, это не так. проблема в том, что значение 'x' не переопределяется при создании' B'. –