重写超类如何知道方法而不创建对象
问题描述:
重写超类如何知道方法而不创建对象。在这段代码中,我创建了一个子类的对象并存储在超类的引用中。重写超类如何知道方法而不创建对象
public class A{
public void show(){
System.out.println("A");
}
}
public class sub extends A{
public void display(){
System.out.println("Displaay");
}
public static void main(String []arg){
sub s = new sub();
s.display();
A a= new sub();
a.show();
}
}
甲一个=新的子(); >当我调用a.show()时。它是显示a的方法。为什么,因为我正在创建一个子类的对象。如果孩子班级有显示方法。它应该给出一个错误,但是我们已经继承了它应该有的默认超级A类。
应该在A a = new sub()上创建多少个对象;
- 如果我创建了一个引用A a>它是如何在运行时解释的。
答
当你扩展一个类时,你会自动从你的父类中知道所有的方法。
但要小心,扩展和重写不是同一回事。
3210Son.hello是一个扩展功能。
Son.display是一个重载函数调用。
我不明白你的问题。请重新说明。 –
根本不清楚你在问什么。你能详细说明这个问题吗? – David
这里没有压倒一切。 –