JavaSE - 接口

接口的定义与使用

接口优先原则:在一个操作既可以使用抽象类,又可以使用接口的时候,优先考虑使用接口。

1.接口定义:

在java中,接口就是一个抽象方法与全局常量的聚合(JDK1.8以前),接口使用interface关键字定义。

(1)接口的命名规范:接口前加大写 I 来区分接口

(2)子类实现接口使用implements关键字,并且子类可以同时实现多个父接口(可以使用接口来实现多继承)。

一般用 接口名+Impl 来命名子类(一般使用主接口名,如果都差不多就找一个有特点的子类名字)。

(3)父接口之间可以互相转换,父类和父接口之间也可以互相转换(前提是有共同的子类)。

2.接口的使用原则

(1)接口中只有public权限(不管是属性还是方法,其权限均为public)。如果不写,默认为public。

接口中 public、static、final、abstract 均可以省略。

阿里编码规约:接口中方法和属性不要加任何修饰符,public 也不要加,保证代码简洁性。

(2)当一个子类既需要实现接口,又需要继承抽象类时,先使用extends继承一个抽象类,而后使用implements实现多个接口。

(3)抽象类可以使用implements关键字实现接口,但是接口不能extends抽象类。

父类已经实现的接口,子类也可以使用implements接口,只是起强调作用,表明是该接口的直接子类。

(4)接口可以使用extends继承多个父接口。

3.接口的应用

(1)定义操作标准(USB2.0标准)

(2)表示一种能力,或者进行一项操作

(3)在分布式开发中暴露远程服务方法

//接口定义标准
//例:模拟实现电脑的USB接口,可以使用鼠标和键盘
interface IUSB{
    void plugIn();
    void setup();
    void work();
}
class Mouse implements IUSB{
    public void plugIn(){
        System.out.println("鼠标插入接口");
    }
    public void setup(){
        System.out.println("安装鼠标驱动");
    }
    public void work(){
        System.out.println("鼠标正常工作");
    }
}
class Keyboard implements IUSB{
    public void plugIn(){
        System.out.println("键盘插入接口");
    }
    public void setup(){
        System.out.println("安装键盘驱动");
    }
    public void work(){
        System.out.println("键盘正常工作");
    }
}
class Computer{
    public void play(IUSB usb){
        usb.plugIn();
        usb.setup();
        usb.work();
    }
}
public class Test5{
    public static void main(String[] args){
        Computer computer = new Computer();
        computer.play(new Mouse());
        computer.play(new Keyboard());
    }
}

4.接口定义增强

JDK1.8之后接口允许出现以下两类方法(有方法体):

(1)使用default定义的普通方法,需要通过接口对象来调用

(2)使用static定义的静态方法,直接使用接口名调用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值