Java面向对象-------------接口interface

接口是Java中定义行为规范的工具,它包含抽象方法和常量,不可实例化。实现接口的类必须实现所有接口方法,且一个类可实现多个接口。接口间的多继承允许规范合并。接口中的默认方法、静态方法和私有方法提供了更多灵活性。接口用于约束子类行为,实现规范与实现的分离,保证代码的灵活性和可扩展性。面向接口编程有助于应对需求变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口:

接口就是体现规范的,其中用抽象方法定义的一组行为规范,接口是更加彻底的抽象方法 。

接口中所有方法都是抽象的

必须知道的接口特性:

  1.  接口不可以被实例化
  2. 实现类必须实现接口的所有方法
  3. 实现类可以实现多个接口
  4. 接口中的变量都是静态常量、
  5. JDK8之前接口中只能是抽象方法和常量,没有其他成分
  6. 接口中的成员都是public修饰

接口的格式如下:(接口用关键字interface来定义)

public interface 接口名{

常量定义//总是public static final
方法定义//总是:public abstract
}

接口的用法:

  1. 接口是用来被类实现的(implements)的,实现接口的类被称为实现类。实现类可以理成所谓的子类
    修饰符 class 实现类 implements 接口1,接口2,接口3{
    
    }

     

  2. 从上面可以看出接口可以被类单实现,也可以被类多实现

  3. 一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的。

  4. 接口不能创建实例,但是可用于声明引用变量类型

  5. Java的类只支持单继承,接口支持多继承

 接口的相关规则:

  1. 接口中所有方法都是抽象的。
  2. 即使没有显式的将接口中的成员用public标示,也是public访问类型的
  3. 接口中变量默认用 public static final标示,所以接口中定义的变量就是全 局静态常量。

接口实现的注意事项:

一个类实现接口,必须重写玩全部接口的全部抽象方法,否则这个类需要定义成抽象类

类和类的关系单继承
类和接口的关系多实现
接口和接口的关系多继承,一个接口可以同时继承多个接口

 接口多继承的作用:

规范合并,整合多个接口为同一个接口便于子类的实现

接口的方法:

  1.  默认方法:default修饰,实现类对象的调用
  2. 静态方法:static修饰,必须用当前接口名调用
  3. 私有方法:private修饰 JDK9开始才有的只能在接口内部被调用
  4. 他们都会默认被public修饰

例:格式:

default void run(){
System.out.println("");
}

 接口的注意事项:

  1. 接口不能创建对象
  2. 一个类实现多个接口,多个接口中有同样的静态方法不冲突
  3. 一个类继承了父类,同时又实现了接口父类中和接口中有同名方法,默认用父类的
  4. 一个类实现了多个接口,多个接口中存在同名的默认方法不冲突,这个类重写该方法即可
  5. 一个接口继承,多个接口,是没有问题的,如果多个接口中存在规范冲突则不能多继承

 为什么需要接口?接口和抽象类的区别?

  1.  接口就是比“抽象类”还“抽象”的“抽象类” ,可以更加规范的对子类迚行约束。 全面地专业地实现了:规范和具体实现的分离。
  2. 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须 能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏 人;如果你是坏人,则必须欺负好人。
  3. 接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。
  4. 项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的 “不变”就是“规范” 。因此,我们开发项目往往都是面向接口编程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Curran-java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值