接口的基础

接口

概念:就个人而言,接口是一种约定,规范

非抽象子类必须重写接口中的所有的抽象的方法

类与接口之间的关系是实现的关系,(implements)

接口中可以定义静态方法、默认方法、私有方法

私有方法可以在接口中的默认方法中调用,

接口中可以定义属性,那么该属性必须是被publc static final 所修饰 并且应该进行初始化。

public interface Usb {
​
    String name="张三 ";
​
    int nums=1;
    public static final int n=10;
    static final public int n1=100;
    void open();
    void close();
    }

接口也是可以实现多态的

Usb usb=new Mouse();//拿笔记本的USB接口和鼠标做一个例子。

实现接口的一个小案例:

interface Usb

package Weeks03.days03_qianfeng.Demo04;
​
public interface Usb {
​
    void open();
    void close();
}
​

Mouse.java

package Weeks03.days03_qianfeng.Demo04;
​
public class Mouse implements Usb {
    @Override
    public void open() {
        System.out.println("打开鼠标");
    }
​
    @Override
    public void close() {
        System.out.println("关闭鼠标");
    }
​
    /**
     * 鼠标特有方法(鼠标点击)
     */
    public void click(){
        System.out.println("鼠标点击");
    }
}
​

KeyBord.java

package Weeks03.days03_qianfeng.Demo04;
​
public class KeyBoard implements Usb {
    @Override
    public void open() {
        System.out.println("键盘打开");
    }
​
    @Override
    public void close() {
​
        System.out.println("键盘关闭");
    }
​
    /**
     * 键盘特有方法
     */
    public void type(){
        System.out.println("键盘打字");
    }
}
​

DemoTest.java

package Weeks03.days03_qianfeng.Demo04;
​
public class DemoTest {
    public static void main(String[] args) {
        Lenovo lenovo=new Lenovo();
        Usb usb=new Mouse();
        KeyBoard keyBoard=new KeyBoard();
        lenovo.run();
        lenovo.useUsb(usb);
        lenovo.useUsb(keyBoard);
        lenovo.shutdown();
        
    }
}
​

Lenovo.java

package Weeks03.days03_qianfeng.Demo04;
​
public class Lenovo {
    public void run(){
        System.out.println("电脑开机并运行");
    }
​
    public void useUsb(Usb usb){
        if (usb!=null){
            usb.open();
            if (usb instanceof Mouse){
                Mouse mouse= (Mouse) usb;
                mouse.click();
            }else if (usb instanceof KeyBoard){
                KeyBoard keyBoard= (KeyBoard) usb;
                keyBoard.type();
            }
​
            usb.close();
        }
​
    }
​
    public void shutdown(){
        System.out.println("电脑关机");
    }
}

测试结果:
电脑开机并运行
打开鼠标
鼠标点击
关闭鼠标
键盘打开
键盘打字
键盘关闭
电脑关机

Process finished with exit code 0
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值