本帖最后由 艾卡西亚的惊喜 于 2018-12-11 21:36 编辑
一:接口和抽象类的区别:
1、抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
2、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3、接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
4、一个类只能继承一个抽象类,而一个类却可以实现多个接口。二:继承和实现的区别?
1、修饰不同
不同的修饰符修饰;实现:interface,继承:extends;
2、数量不同
Java只支持接口的多继承,不支持“继承”的多继承;而继承在java中具有单根性,子类只能继承一个父类。
总结为:单继承,多实现。
3、属性不同
在接口中只能定义全局常量(static final),和无实现的方法;而在继承中可以定义属性方法,变量,常量等...
4、调用不同
某个接口被类实现时,在类中一定要实现接口中的抽象方法;而继承想调用那个方法就调用那个方法,毫无压力。
三:多态有什么好处?
1、提高了代码的扩展性。
[color=rgba(0, 0, 0, 0.75)]2、提高了代码的维护性。
[color=rgba(0, 0, 0, 0.75)]四:什么时候需要用到向上转型?什么时候需要用到向下转型
1、当父类引用指向一个子类对象时需要用到向上转型。
2、一个已经向上转型的字类对象,将父类引用转为子类引用时使用向下转型。
玉树临风的林少伟。
|