【Java SE】接口(上)

目录

一.接口

1.接口的概念

2.接口的核心作用

3.语法规则

4.接口的使用

5.接口的特性


一.接口

1.接口的概念

  • 接口在编程中是一种抽象类型,用于定义行为规范。
  • 它仅包含方法签名(名称、参数、返回类型),不包含具体实现。实现接口的类必须提供接口中所有方法的具体逻辑。


2.接口的核心作用

  • 标准化行为:多个类可共享同一套方法规范,确保一致性。
  • 解耦:分离定义与实现,降低代码依赖性。
  • 多态支持:通过接口类型引用不同实现类,灵活扩展功能。


3.语法规则

接口的 定义格式 与定义类的格式基本相同,将 class 关键字 换成 interface 关键字

public interface ITest1 {
    public abstract void method1();
    //public abstract 是固定搭配,写与不写是一样的
    public void method2();
    abstract void method3();
    void method4();
}

提示

  • 接口创建时,接口命名一般以大写字母  I  开头
  • 接口的命名一般使用 形容词 词性的单词
  • 一般情况下  接口中的  方法和属性  不要加  任何形式的修饰符号  ,以保持代码简洁性


4.接口的使用

public interface USB {
    void openDevice();
    void closeDevice();
}

public class Mouse implements USB{
    @Override
    public void openDevice(){
        System.out.println("打开鼠标");
    }

    @Override
    public void closeDevice() {
        System.out.println("关闭鼠标");
    }
    public void click(){
        System.out.println("鼠标点击");
    }
}

public class KeyBoard implements USB{
    @Override
    public void openDevice() {
        System.out.println("打开键盘");
    }

    @Override
    public void closeDevice() {
        System.out.println("关闭键盘");
    }
    public void inPut(){
        System.out.println("键盘输入");
    }
}

public class Computer {
    public void open(){
        System.out.println("开机");
    }
    public void close(){
        System.out.println("关机");
    }
    public void uesUsbDevice(USB usb){
        usb.openDevice();
        if(usb instanceof Mouse){
            Mouse mouse = (Mouse) usb;
            mouse.click();
        }else{
            KeyBoard keyBoard = (KeyBoard) usb;
            keyBoard.inPut();
        }
        usb.closeDevice();
    }
}

public class TestDevice {
    public static void main(String[] args) {
        Computer computer = new Computer();
        computer.open();
        computer.uesUsbDevice(new Mouse()); //使用鼠标设备
        computer.uesUsbDevice(new KeyBoard()); //使用键盘设备
        computer.close();
    }
}

运行: 


5.接口的特性

①接口类型是一种引用类型,但是不能直接  new接口的对象


②接口当中的成员变量,默认是 public static final 修饰的


③接口中当中的方法  一般情况下是  抽象方法,默认都是public abstract修饰的


④在 jdk8+ 中:接口还可以包含  default方法  

如果接口当中的方法被 default修饰那么该方法可以有具体实现


⑤如果接口当中的方法被 static 修饰,那么也可以有具体实现


⑥重写接口方法时,不能 使用默认的访问权限


⑦接口中不能有 静态代码块 和 构造代码块


⑧如果一个类 不想实现这个接口当中的方法,那么此时这个类  就可以  被定义为抽象类

如果这个抽象类  被继承 ,那么 就得实现 所有未被实现的方法


⑨接口虽然不是类,但是接口编译完成后 的字节码文件 的后缀是 .class


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值