java中的接口

java中的接口

特征

  1. 接口使用interface关键字

  2. 接口中的所有方法默认都是public abstract修饰

  3. 接口中所有的成员变量都是public static final修饰

  4. 接口没有构造方法,构造方法用于创建对象(接口没办法new对象),但是接口使用多态

  5. 实现接口的类必须要实现接口中的所有方法,如果不想实现接口中的所有方法,那么可以把该类设置为抽象类

  6. 接口和接口之间可以继承,并且支持多继承,类和接口是实现关系,并且一个类可以实现多个接口

  7. 与继承类似的,接口和实现类之间存在多态性

接口回调

先有接口的使用者,后有接口的实现者

interface USB {
    public void service();
}

class Computer {
    USB usb1;
    USB usb2;
    USB usb3;

    public void run() {
        System.out.println("电脑启动");
        if (usb1 != null) {
            usb1.service();
        }
        if (usb2 != null) {
            usb2.service();
        }
        if (usb3 != null) {
            usb3.service();
        }
    }
}

class Upan implements USB {

    @Override
    public void service() {
        System.out.println("U盘启动");
    }
}

class Test {
    public static void main(String[] args) {
        Computer computer = new Computer();
        computer.usb1 = new Upan();
        computer.run();
    }
}

接口和抽象类的异同

  1. 接口中的方法默认是抽象方法,在接口中不能有实现(java 8开始允许接口方法有默认实现,使用default关键字),抽象类可以有非抽象方法
  2. 接口中的变量默认是final修饰,抽象类则不一定
  3. 一个类可以实现多个接口,但是最多只能继承一个抽象类
  4. 一个类实现接口的话,需要实现接口中的所有方法,但是继承抽象类只需要实现抽象方法
  5. 从设计层面,抽象类是对象的抽象,是一种模板的设计,而接口是行为的一种抽象,是一种行为的规范。

总结

  • 关键字使用interface,方法都是抽象方法
  • 接口可以很方便的使用多态
  • 接口的性质与只有抽象方法的抽象类相似
posted @   ning12  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示