Java接口

本文详细介绍了Java接口的概念、语法规则、使用方法、特性、实现多个接口、接口间的继承、接口使用示例以及与抽象类的区别。通过具体示例说明了如何实现接口并进行对象排序,同时探讨了深浅拷贝的区别。最后提到了Java中的Object类及其在比较中的作用。
摘要由CSDN通过智能技术生成

一、接口的概念及语法规则

两台电脑要交换数据:
1、通过网络
2、局域网——通过交换机、路由器
3、蓝牙设备——小心连接不上或者连接错误的情况
4、U盘

概念

接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用,在Java中,Java可以看成是多个类的公共规范,是一种引用数据类型。例:电脑的USB接口上,可以插U盘、鼠标、键盘等所有符合USB协议的设备;电源的插座插孔上,可以插电脑、充电器、电视机等所有符合规范的设备。

语法规则

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

public interface IUSB {
   
    // 默认是抽象方法
    public abstract void method1();   // public static 是固定搭配,可以不写
    public void method2();
    abstract void method3();
    void method4();   //  推荐推荐
}

1、创建接口时,接口的命名一般是以大写字母I开头
2、接口的命名一般是使用形容词词性的单词
3、阿里编码规范中约定,接口中的方法和属性不要加任何修饰符号,保持代码的简洁

二、接口的使用

接口不能直接使用,必须有一个“实现类”来“实现”接口。
子类和父类是 extends 继承关系,类和接口是 implements 实现关系。

public class 类名 implements 接口{
   
    
}

eg.
实现一个笔记本电脑实现USB鼠标、USB键盘的例子
USB接口:包含打开设备、关闭设备的功能
笔记本类:包含开机功能、关机功能、使用USB设备功能
鼠标类:实现USB接口,并具备点击功能
键盘类:实现USB接口,并具备输入功能

public interface IUSB {
   

    void openDevice();
    void closeDevice();

}

public class Computer {
   
    public void openComputer(){
   
        System.out.println("打开电脑");
    }

    public void closeComputer(){
   
        System.out.println("关闭电脑");
    }


    public void useDevice(IUSB usb) {
   
        usb.openDevice();
        if(usb instanceof Mouse){
   
            Mouse mouse = (Mouse) usb;   //向下转型  将usb转为mouse
            mouse.click();
        }else if(usb instanceof KeyBoard){
   
            KeyBoard keyboard = (KeyBoard) usb;
            keyboard.inPut();
        }

        usb.closeDevice();
    }


}

public class Mouse implements IUSB{
   

    // 接口中的openDevice和closeDevice都要在相应的类中实现,只要有一个没有实现,应该将此类标为抽象类
    @Override
    public void openDevice() {
   
        System.out.println("打开鼠标");
    }

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

    public void click(){
   
        System.out.println("点击鼠标");
    }

}

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

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

    public void inPut(){
   
        System.out.printl
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值