首页 > 技术文章 > 接口和抽象类有何不同?

kawazbolg 2014-11-21 17:10 原文

接口和抽象类,有什么不同呢?现在,广州达内的老师,将从两个大的方面为您解析接口和抽象类的不同!

一、接口和抽象类的区别

1、一个类可以实现多个接口,但却只能继承最多一个抽象类。

2、抽象类可以包含具体方法;接口所有方法都是抽象的。

3、抽象类可以申明和使用字段;接口则不能,但可以创建静态的final常量。

4、抽象类的方法可以是public、protected、private或者默认的package;接口的方法都是public。

5、抽象类可以定义构造方法;接口不行;

 

二、接口和抽象类的各自优缺点

接口缺点:如果向一个java接口加入一个新方法时,所有实现这个接口的类都得编写具体的实现。

接口优点:一个类可以实现多个接口,接口可以让这个类不仅具有主类型的行为,而且具有其他的次要行为,

抽象类的缺点:一个类智能由一个超类继承,所以抽象类座位类型定义工具的效能大打折扣

抽象类的优点:具体类可从抽象类自动得到这些方法的缺省实现。

以上就是接口和抽象类之间的不同,希望有帮助到您!

推荐阅读