抽象类和接口的区别

来源:互联网 发布:达梦数据库有限公司 编辑:程序博客网 时间:2024/06/13 21:47

注意:abstract不能和final一起修饰一个类(因为抽象类一般是通过继承来实现抽象类中的抽象方法,而final修饰类时,该类不能被继承)

            abstract不能和static、private、final和native修饰相同的方法

    抽象类不能被实例化。

抽象类与接口的区别

1、子类可以不实现抽象类中的所以方法,但必须实现接口中的所以方法。当子类没有实现抽象类中的所有方法时,该类仍然时抽象类。

abstract class Base{abstract void method();abstract void add();}class Mine extends Base{void method(){System.out.println("method");}}

当前Mine类为实现Base中的所有方法,仍然是抽象类

2、抽象类中可以包含非抽象方法,而接口中不能包含具体方法的实现,只能是函数的声明。

3、接口可以实现多继承,一定程度上弥补了java中类不能实现多继承的缺点。

0 0
原创粉丝点击