1. interface 的方法全部都没有“实现部分”;而abstract类能拥有abstract方法,这些方法也都没有“实现部分”。
2. interface和abstract类都不能直接用来建立对象实例,必须有一个标准的一般类去继承它(implemnets或extends),实现那些没有“实现部分”的方法,然后再以此“一般类”建立对象实例。
3. interface没有构造函数,但是abstract类有构造函数。
4. interface不允许其内任何方法拥用“实现部分”;但abstract类允许拥用一般非abstract方法。它们就一定有实现部分。
5. interface没有内置this和super对象。Abstract类则有。
6. interface的成员变量一定是常数(final的变量),变量必须指定初值;但是abstract类的成员变量皆按照标准一般类的成员变量。
7. interface所有封装等级都是public,故定义成员时不可加public之外的其他封装修饰符;但是abstract类的成员可以是任何封装等级,也就是它的成员可以加任何封装修饰符。
Java Interface与abstract类的比较
最新推荐文章于 2024-09-21 10:38:43 发布