Java接口和抽象类的异同

相同点:

       1.都位于继承的顶端,用于被其他子类或接口继承或实现.

       2.都不能实例化.

       3.都可以定义抽象方法,其非抽象子类必须覆写这些抽象方法.

区别:

       1.接口没有构造方法,抽象类有构造方法.

       2.接口只能包含抽象方法,抽象类可以包含普通方法和抽象方法.

       3.一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口(接口弥补了java的单继承)

       4.变量:接口里默认是public static final修饰,抽象类是默认包访问权限.

       5.方法:接口里默认是public abstract修饰,抽象类默认是包访问权限.

       6.内部类:接口里默认是public static修饰,抽象类默认是包访问权限.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章