мы знаем, что частное поле не наследуется, и когда я создаю объект в строке №2, объект создается для Человек, а затем, когда я устанавливаю имя отца, внутри setFatherName(), как это «который является объектом человека» имеет видимость для установки класса Test личное имя отца?
Код: Выделить всё
abstract class Test {
private String fatherName ;
public void setFatherName(String fatherName){
System.out.println(this.getClass().getSimpleName());
this.fatherName=fatherName;
}
public String getFatherName(){
return fatherName;
}
}
Код: Выделить всё
public class Person extends Test{
public static void main(String[] args) {
Test person = new Person(); // #2
person.setFatherName("Jimmy");
System.out.println("father name is : " +person.getFatherName());
}
}
Код: Выделить всё
Person
father name is : Jimmy
Подробнее здесь: https://stackoverflow.com/questions/793 ... ract-class