接口

1、接口

interface Printable{
    public static final int MAX = 100; //等价写法:int MAX = 100;
    public abstract void add();        //等价写法:void add();
    public abstract float sum(float x, float y);
}
  • 接口体中包含常量的声明(没有变量)和抽象方法

  • 接口体中只有抽象方法,没有普通的方法。

  • 接口体中所有常量的访问权限都是public,而且是static常量(允许省略public, final, static)

  • 接口体中所有的抽象方法访问权限都是public,(允许省略public, abstract)

2、实现接口

1、重写接口中的方法

如果一个非抽象类实现了某个接口,那么这个接口必须重写这个接口中的所有方法。(和抽象类一样)

由于接口中的方法一定是 public abstract 方法,所以类在重写接口方法时不仅要去掉 abstract 、方法的访问权限一定要用 public 修饰,否则就降低了访问权限。

2、接口的细节

  • 程序可以用接口名访问接口中的常量。但如果一个类实现了接口,那么该类可以直接在类体中使用该接口中的常量

定义接口时,如果关键字interface前面加上public关键字,就叫它public接口。public接口可被任何一个类实现。

如果一个类不加public修饰,就称作友好接口,友好接口可被该接口在同一个包中的类实现。

如果父类实现了某个接口,那么子类自然实现了该接口,不用再写implements声明

接口也可以被继承,即通过extends声明一个接口是另一个接口的子接口,由于接口中的方法和常量都是public的,子接口将继承父接口全部方法和常量。

通过import语句不仅可以引入包中的类,还可以引入接口

​ import java.io.*; //同时引入了类和接口

3、abstract类与接口的比较

  • abstract类和接口都可以有abstract方法。
  • 接口中只可以有常量,不能有变量;而abstract类中既可以有常量,又可以有变量。
  • abstract类中可以有非abstract方法,接口不可以。

4、小结

1、接口中的接口体只可以有常量和abstract方法。

2、和类一样,接口也是Java中一种重要的引用型数据类型,接口常量中只能存放实现该接口的类的实例(对象)的引用。

3、当接口变量中存放了实现接口的类的对象的引用后,接口变量就可以调用类实现的接口方法,这一过程被称为接口回调。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值