当然有很多好处了,打个比方吧,现在你要写一个汽车和卡车的javabean类,
他们都是属于车吧,都有型号,车速,厂商,等变量和方法吧,如果他们都继承同一个父类,那个父类把他们共同的变量和方法都写好了,比如厂商。那么汽车和卡车的类就不用写厂商了,只要写他们不同的比如型号,车速就可以了。
这个是实现多态要素之一,多态后就可以写出一段所有子类都通用的代码,当添加新的子类时,这段代码是不需要修改的。
比方说:父类Animal,子类Cat,Dog
//如果使用第2行,当改用Dog的时候,那么第3行也需要改变
1 Animal a = new Cat();
2 //Cat a = new Cat();
3 a.someMethod();
父类引用指向子类对象就是java的多态。也叫动态绑定。
最大好处就是灵活。
才子_辉祝您愉快!
理论再深,还需实例证明。你在父类定义一些变量和方法,然后在子类定义一些变量和方法,并且子类和父类有一个变量和方法名相同,值不相同。
那么
1 Animal a = new Cat();
2 Cat b = new Cat();
用实例a和b,把这些变量都打印出来。然后你后发现真正的区别.
其实,子类与父类 那个用那个没有非常严格的定义。
如果,有老师这么考试,我怀疑她的水平。
我读的书不多, 不过几本 国外的 数据结构的书上,对这个问题没有定义,其实也没有必要。 而重点是放在如何使用上。
其实,要回答也很简单,需要,一切根据需要, 只要需要就是好。
其实,这个里面重点就是 downcast 和 upcast的问题。
希望能有点用途