1、接口和抽象类都不能直接被实例化,需要去实现接口和继承抽象类间接实例化;
2、接口与抽象类的标识不同,接口是interface,抽象类是abstract;
3、实现方式不同,接口是被实现(implements),抽象类是被继承(extends);
4、定义的变量不同,接口定义的是公共的静态常量,抽象类定义的是普通成员变量;
5、接口没有构造器,而抽象类有构造器;
6、抽象类可以没有抽象方法,但有抽象方法的类一定是抽象类,注意:接口是特殊的抽象类;
7、抽象类不仅可以做方法的声明,也可以做方法的实现,接口在jdk8之前只能做方法的声明,不能被实现,而在jdk8之后添加了默认方法和静态方法,允许有方法体;
8、抽象类只能单继承,而接口可以多重继承。
接口与抽象类的区别
最新推荐文章于 2024-07-15 22:27:18 发布