接口的相关问题

接口和抽象类的区别

no区别抽象类接口
1定义关键字abstractinterface
2成员组成常量、变量、普通方法、抽象方法、构造方法全局常量、抽象方法
3访问权限四种权限public
4关系c抽象类可以实现接口接口不能继承抽象类
5继承关键字extendsimplements
6设计模式模板设计模式、适配器设计模式工厂设计模式、代理设计模式
7局限一个子类只能继承一个父类,(单继承局限)可以一个子类实现多个接口(无局限)
8抽象方法是否可以省略abstract不可以省略可以省略,默认就是抽象方法
9是否有构造有构造方法无构造

接口的真正意义

  1. 抽象类的出现就是为了统一标准,但是有单继承局限。
  2. 接口的出现是为了统一标准,同时没有单继承局限。 统一开发标准

一般来讲:

package com.baidu.dao.demo;

public class Mouse {
    public void click(){
        System.out.println("鼠标:点击桌面");
    }
}

package com.baidu.dao.demo;

public class Printer {
    public void print(){
        System.out.println("打印机:打印材料");
    }
}


package com.baidu.dao.demo;

public class Keyboard {
    public void input(){
        System.out.println("键盘:输入文字");
    }
}

package com.baidu.dao.demo;

public class Computer {
    public static void main(String[] args) {
      useUsb(new Keyboard());
      useUsb(new Mouse());
      useUsb(new Printer());
    }
    public static void useUsb(Printer printer){
        printer.print();
    }
    public static void useUsb(Keyboard board){
        board.input();
    }
    public static void useUsb(Mouse mouse){
        mouse.click();
    }
}

要统一电脑以及与电脑插口有关设备的生产标准。让一个USB插口可以连接不同的设备。

package com.baidu.dao.demo;

public interface IDevice {
    public void run();
}

package com.baidu.dao.demo;

public class Mouse implements IDevice {
    public void run(){
        System.out.println("鼠标:点击桌面");
    }
}

package com.baidu.dao.demo;

public class Printer implements IDevice {
    public void run(){
        System.out.println("打印机:打印材料");
    }
}


package com.baidu.dao.demo;

public class Keyboard implements IDevice{
    public void run(){
        System.out.println("键盘:输入文字");
    }
}

package com.baidu.dao.demo;

public class Computer {
    public static void main(String[] args) {
      useUsb(new Keyboard());
      useUsb(new Mouse());
      useUsb(new Printer());
    }
   public static void useUsb(IDevice device){
        device.run();
   }

}

输出:
键盘:输入文字
鼠标:点击桌面
打印机:打印材料
以上使用接口统一了开发标准,实现多种设备对接的操作简单,可以使用于不同的设备。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值