一、笼统类
在Java中,被关键字abstract润饰的类称为笼统类;被abstract润饰的要领称为笼统要领,笼统要领只要要领声明没有要领体。
笼统类有以下几个特征:
1、笼统类不能被实例化,只能被继续。
2、包括笼统要领的类一定是笼统类,但笼统类不一定包括笼统要领(笼统类能够包括一般要领)。
3、笼统要领的权限润饰符只能为public或许protected,默许状况下为public。
4、一个类继续于一个笼统类,则子类必需完成笼统类的笼统要领,假如子类没有完成父类的笼统要领,那子类必需定义为笼统类。
5、笼统类能够包括属性、要领、组织要领,但组织要领不能用来实例化对象,只能被子类挪用。
二、接口
接口能够看成是一种特别的类,只能用interface关键字润饰。接口是供应给他人挪用的。Java中的接口具有以下几个特征:
1、接口中能够包括变量和要领,变量被隐式指定为public static final,要领被隐式指定为public abstract(JDK 1.8之前);
2、接口支撑多继续,即一个接口能够继续(extends)多个接口,间接处理了Java中类不能多继续的题目;
3、一个类能够同时完成多个接口,一个类完成某个接口则必需完成该接口中的笼统要领,不然该类必需被定义为笼统类;
4、JDK 1.8中对接口新增了两个特征:
(1)默许要领(default method):JDK 1.8许可给接口增加非笼统的要领完成,但必需运用default关键字润饰;定义了default的要领能够不被完成子类所完成,但只能被完成子类的对象挪用;假如子类完成了多个接口,而且这些接口包括一样的默许要领,则子类必需重写默许要领。
(2)静态要领(static method):JDK 1.8中许可运用static关键字润饰一个要领,并供应完成,称为接口静态要领。接口静态要领只能经由过程接口挪用(接口名.静态要领名)。
5、在JDK 1.9中,再次对接口举行了加强,能够完成private method和private static method。由于JDK 1.8中能够对接口中的要领举行完成,那末当我们不愿望完成的要领暴露给外部时,则能够将要领定义为private。
三、接口与笼统类的区分
1、笼统类中能够包括一般要领,但接口中只能包括public abstract要领(JDK 1.8之前);
2、笼统类中的成员变量没有接见权限的限定,但接口中的变量只能被public static final润饰;
3、一个接口能够继续多个接口,但一个类只能有一个父类,类能够完成多个接口;
4、笼统类是对一类事物的笼统,接口则是对行动的笼统。一个类继续一个笼统类代表“是否是”的关联,而一个类完成一个接口则示意“有无”的关联。
ki4网,大批的免费Java入门教程,迎接在线进修!
以上就是java笼统类与接口的区分有哪些的细致内容,更多请关注ki4网别的相干文章!