class A{
void a(){
System.out.println("hello a");
}
}
class B extends A{
void b(){
System.out.println("hello b");
}
}
public class test{
public static void main(String[] args){
A a= new B();
a.b();
}
}
Это не дает ошибку компиляции, но дает запустить ошибку времени, но когда я сделать то же самое с переопределением, что я определить метод b()
в class A
также, что время, выполняет метод в Class B
, но когда имена метода различаются в то время, он не может выполнить метод в class B
. Пожалуйста, объясните?родитель ссылка переменной классы не в состоянии доступа к методам в дочернем классе
"Это не дает ошибки компиляции" - Невозможно. Этот код не должен компилироваться. Убедитесь, что код, который вы компилируете, такой же, как и во время выполнения. И, пожалуйста, ознакомьтесь с основами объектно-ориентированного программирования. – JimmyB
У вас есть идея о наследовании? Где-нибудь в любой книге написано, что ссылка родительского класса может получить доступ к методу дочернего класса? Лол. –