抽象类和接口
相同点:
都不能被实例化
不同点:
抽象类:1.可以有构造函数 2.可以有抽象方法和非抽象方法,被继承时必须要重写抽象方法,非抽象方法随意 3.方法的声明可以是public,default,protected 4.可以有成员变量和常量 5.只能继承一个类,被多个类继承
接口:1.不能有构造函数 2.只能有抽象方法,实现时必须重写 3.方法声明只能是public 4.只能有常量 5.能够继承多个接口,一个类可以实现多个接口
使用情形:
接口:需要用到多继承(从多个父类中继承,接口继承多个接口,也是用extends,类和接口间用implements)
抽象类:需要有一些默认的方法,设为非抽象方法,需要修改的时候则修改,不需要修改的时候则使用默认的(类和类间的继承使用extends)
接口 抽象类 实体类间的继承抽象类可以继承实体类,但是实体类需要有构造方法;抽象类可以实现接口;接口可以继承接口。
相关知识:java提高篇(九)-----实现多重继承 - chenssy - 博客园
Q:java8中有什么新特性可以实现类的多继承?
网友评论