Q:什么是父类引用指向子类对象
A:类B继承了类A。有如下代码: A a = new B() ; 这就称父类的引用a 指向了子类的对象new B(),就是这个意思。
Q:为什么不直接创建子类的对象,父类引用指向子类对象有什么好处?
A:举个例子。 假如有一个类,这个类需要实现吃各种水果,有香蕉,苹果,梨子等等。 我们是不是就得写: public void eat(Banana banana) { //.....} public void eat(Apple apple) { //.....} 等等等等。这样是不是很麻烦啊,但是我要是把这个方法写成: public void eat(Fruit fruit){//....} 这样只要继承Fruit或者实现Fruit接口,就都可以作为eat的参数,就大大简化了编程。