Java接口和抽象类的异同

来源:互联网 发布:网络it外包 编辑:程序博客网 时间:2024/04/30 14:50

相同点:

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

       2.都不能实例化.

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

区别:

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

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

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

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

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

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

原创粉丝点击