第一个问题:多实现和多继承的区别?
在继承中:一个父类可以有多个子类,而一个子类只能有一个父类。在java继承中不允许多继承,就好比一个爹可以有很多儿子,而一个儿子只能有一个爹。
在接口中:可以实现多继承。
多继承里面有不确定性。
抽象类和接口的区别?
第二个问题:接口和抽象类的区别:
1,类是用来继承的,只能单继承。
接口是用来实现的,可以多实现。
2,类中可以定义非抽象内容,直接提供给子类使用。
接口中只能定义抽象方法,需要子类全部实现。
3,类存在着继承关系,是 is a 所属关系。
接口的实现关系,是 like a像什么的关系。
区别:抽象类定义的是基本共性内容。
接口实现的是额外拓展内容。
抽象类和接口:在不同的问题领域中分析问题的也有不同。
第三个问题:多态的体现,前提,好处,弊端。
体现:
父类引用指向子类对象
多态的前提:
1,必须存在着继承关系,(或者接口的形式)。
2,通常要有覆盖操作。
多态:简单的理解多种形态。
多态性在程序中的体现:
就是:父类或者接口的引用指向自己的子类对象。这就是多态。
好处:
提高代码的扩展性。
弊端: 只能使用父类的引用访问父类成员。(前期建立父类的引用,虽然可以接收后期所有该类的子类对象,但是只能使用父类中的功能,
不能使用子类中的特有功能,因为前期的程序无法知道后期的子类的特有内容的)
但是:前期的程序可以使用子类覆盖了父类的方法的内容。
第五个:多态的转型什么时候使用?这个貌似是重点 多态中的哦。
向上: 可以隐藏具体类型。例如动物的例子。以后面对的就不在是猫了,面对的是动物了。
当需要对程序进行扩展的时候。或者限定子类特有的方法的操作的时候,使用向上转型,操作其父类。
向下:
使用子类的特有内容。一定要做的是健壮性的判断。
希望楼主采纳呵呵
|