java 接口

  

     Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

        一方面 ,有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是 , Java不支持多重继承。有了接口 ,就可以得到多重继承的效果 。
         另一方面,有时必须从几个类中抽取出一些共同的行为特征,而它们之间又没有 is -a的关系,仅是具有相同行为特征而已 。例如 :鼠标、键盘、打印机、 扫描仪、摄像头、充电器、移动硬盘等都支持USB连接 。
        接口就是规范,定义的一组则体现了现实世界中“如果你/要... 则必须能 ... ”的思想。继承是一个 "is a"的关系,而接口实现则是 "has a"的关系。
接口的本质是契约,标准规范 ,就像我们的法律一样。制定好后大家都 要遵守 这种设计是将规范。

         和实现分离,这也正是Java接口的好处。Java的软件系统会有很多模块组成,那么各个模块之间也应该采用这种面相接口的低耦合,为系统提供更好的可扩展性和可维护性。

定义格式:

【修饰符】 interface 接口名{
    
}

        接口定义的是多个类共同的公共行为规范,这些行为规范是与外部交流的通道,这就意味着接口里通常是定义一组公共方法。

在JDK8之前,接口中只允许出现:

(1)公共的静态的常量:其中public static final可以省略

(2)公共的抽象的方法:其中public abstract可以省略

理解:接口是从多个相似类中抽象出来的规范,不需要提供具体实现

在JDK1.8时,接口中允许声明默认方法和静态方法:

(3)公共的默认的方法:其中public 可以省略,建议保留,但是default不能省略

子类可以选择重写 或者 不重写,方便扩展

(4)公共的静态的方法:其中public 可以省略,建议保留,但是static不能省略

为子类提供 类似 工具类的功能,可以直接调用,实现类的对象无法调用接口中的静态方法,只有当前接口才能调用父接口中的 静态方法

在JDK1.9时,接口又增加了:

(5)私有方法

除此之外,接口中不能有其他成员,没有构造器,没有初始化块,因为接口中没有成员变量需要动态初始化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值