抽象类和接口的区别

来源:互联网 发布:5s优化设置 编辑:程序博客网 时间:2024/06/07 13:40
(1).关键字
子类使用extends关键字来继承抽象类,子类使用关键字implements来实现接口。  
(2).构造方法 
抽象类可以有构造器   接口不能有构造器  抽象类中,如果子类是非抽象子类,子类必须要实现父类所有的抽象方法,如果子类是抽象子类,就可以部分实现抽象方法,也就是不用实现所有的抽象方法  接口中的抽象方法,实现类中必须要实现接口中的所有抽象方法   
(3).修饰符
抽象方法可以有public、protected和default这些修饰符,但是,抽象类中的抽象方法(其前有abstract修饰)不能用private、static、synchronized、native访问修饰符修饰。  
接口方法默认修饰符是public。不可以使用其它修饰符。而且protected访问修饰符也不能使用,因为接口可以让所有的类去实现(非继承),不只是其子类,protected只是能让其自己的类和其子类访问
(4).访问速度
抽象类比接口块,因为接口需要时间去寻找在类中实现的方法。
原创粉丝点击