关于java继承的问题
小弟不才,问大家一个基础问题:
Son类继承Father类
Father obj = new Son();
和
Son obj = new Son();
有什么区别?
Father obj = new Son();有什么好处.
还有比如: (接口)A a = new AImpl(接口A的实现类) 这样新建更 AImpl a =new AImpl();有什么区别,前者有什么优点?
------解决方案--------------------好处从你这两句代码里面是看不出来的。
要从模块重用、集成的角度来分析其好处。
比如有个函数,要求参数是List,那么你就可以根据程序自身需要来使用:ArrayList 或 LinkedList 或其他大把的List,甚至是自定义的List。提供了很好的灵活性。
------解决方案--------------------借用别人的说法:
这个是实现多态要素之一,多态后就可以写出一段所有子类都通用的代码,当添加新的子类时,这段代码是不需要修改的。
比如:父类Person,子类Teacher,Student,方法method()
如果使用第2行,当改用Student的时候,那么第3行也需要改变
Person a = new Teacher();
//Teacher a = new Teacher();
a.method();