class Parent {
public Parent() {
System.out.println("Parent Default..");
System.out.println("Object type : " + this.getClass().getName());
this.method();
}
private void method() {
System.out.println("private method");
}
}
class Child extends Parent {
public Child() {
System.out.println("Child Default..");
}
public static void main(String[] args) {
new Child();
}
}
Когда я запускаю этот код он печатает имя класса «этого» = ребенка, но «это» объект способен вызвать частный метод родительского класса почему?Закрытый метод вызова от дочернего объекта
Вам нужно удалить 'this' в родительском классе, потому что когда вы вызываете выполнение наследования в это время, это указывает на ссылку на дочерний класс, поэтому он не будет называть это. –
, потому что это частный метод родительского, если this = parent, тогда он вызывает его собственный метод. –
@DanialHussain Сначала запустите код и затем примите решение. И это может вызвать частный метод. –