JAVA基础(十四)——接口

接口

1、接口使用interface来定义

2、 Java中,接口和类是并列的两个结构

3、如何定义接口:定义接口中的成员

  • 3.1 JDK7之前,只能定义全局常量和抽象方法
    全局常量:public static final的的,但是书写时,可以省略
    抽象方法:public abstract的

  • JDK8:除了定义全局常量和抽象方法外,还可以定义静态方法、默认方法(略)

4、接口中不能定义构造器,意味着接口不可以实例化

5、java开发中,接口都通过让类去实现(implement)的方式来使用

  • 如果实现类覆盖了接口中的所有抽象方法,则此实现类就可以实例化
  • 如果实现类没有覆盖接口中的所有抽象方法,则此类仍是一个抽象类

6、Java类可以实现多个接口,弥补了JAVA单继承的局限性

  • 格式:class AA extends BB implements CC,DD,EE

7、接口与接口之间可以进行继承,而且可以进行多继承

public class InterfaceTest {
    public static void main(String[] args) {
        Plane plane = new Plane();
        plane.fly();
        plane.stop();
   }
}

interface Flyable{
    // 全局常量
    public static final int MAX_SPEED = 7900;
    int MIN_SPEED = 1;

    // 抽象方法
    public abstract void fly();

    void stop();
}

interface Attacked{
    void Attack();
}

class Plane implements Flyable,Attacked{

    @Override
    public void fly() {
        System.out.println("飞机通过引擎去飞");
    }

    @Override
    public void stop() {
        System.out.println("驾驶员控制飞机停下来");
    }

    @Override
    public void Attack() {
        System.out.println("飞机也可以是战斗机");
    }
}

8、接口的具体使用,体现多态性
9、接口,实际上体现了一种规范

public class USBtest {
    public static void main(String[] args) {
        Computer com = new Computer();
        com.transferData(new flash());
        com.transferData(new Priter());
    }
}

class Computer{
    public void transferData(USB usb){
        usb.start();
        usb.end();
    }
}
interface  USB{
    void start();

    void end();
}

class flash implements USB{
    public void start(){
        System.out.println("U盘开始工作");
    }
    public void end(){
        System.out.println("U盘结束工作'");
    }
}

class Priter implements USB{
    public void start(){
        System.out.println("打印机开始工作");
    }
    public void end(){
        System.out.println("打印机结束工作'");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值