Java接口和抽象类的区别,抽象类和接口的区别java
如何解决写爬虫IP受阻的问题?立即使用。
一、抽象类
在Java中,由关键字abstract修饰的类称为抽象类;抽象修改的方法叫抽象方法,只有方法声明,没有方法体。
抽象类具有以下特征:
1.抽象类不能实例化,只能继承。
2.包含抽象方法的类一定是抽象的,但是抽象类不一定包含抽象方法(抽象类可以包含普通方法)。
3.抽象方法的权限修饰符只能是public或protected,默认为public。
4.如果一个类从一个抽象类继承,子类必须实现抽象类的抽象方法。如果子类没有实现父类的抽象方法,那么子类必须被定义为抽象类。
5.抽象类可以包含属性、方法和构造方法,但是构造方法不能用来实例化对象,只能被子类调用。
二、接口
Interface可以看作是一个特殊的类,只能用interface关键字来修饰。接口提供给其他人调用。Java中的接口具有以下特征:
1.接口可以包含变量和方法,变量隐式指定为public static final,方法隐式指定为public abstract(JDK 1.8之前);
2.接口支持多继承,即一个接口可以扩展多个接口,间接解决了Java中类不能多继承的问题;
3.一个类可以同时实现多个接口。类实现接口时,必须实现接口中的抽象方法,否则必须将类定义为抽象类;
4.JDK 1.8的界面中增加了两项新功能:
(1)默认方法):JDK 1.8允许向接口添加非抽象方法实现,但必须用default关键字修饰;default定义的方法不能由实现子类实现,只能由实现该子类的对象调用;如果子类实现多个接口,并且这些接口包含相同的默认方法,那么子类必须覆盖默认方法。
(2)静态方法):JDK 1.8,静态关键字允许修饰一个方法并提供其实现,称为接口静态方法。静态方法只能通过接口(接口名)调用。静态方法名)。
5.在JDK 1.9中,接口再次增强,可以实现私有方法和私有静态方法。因为接口中的方法可以在JDK 1.8中实现,所以当我们不希望实现的方法对外公开时,我们可以将方法定义为私有的。
三、接口与抽象类的区别
1.抽象类可以包含普通方法,但接口只能包含公共抽象方法(JDK 1.8之前);
2.抽象类中的成员变量不受访问权限的限制,但接口中的变量只能用public static final来修饰;
3.一个接口可以继承多个接口,但是一个类只能有一个父类,一个类可以实现多个接口;
4.抽象类是一类事物的抽象,接口是行为的抽象。类继承抽象类来表示“是”关系,而类实现接口来表示“否”关系。
我们,大量免费的Java入门教程,欢迎在线学习!java抽象类和接口的区别有哪些细节?请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。