Java基础笔记35——接口

接口:对类来说是一套规范,是一套行为协议

 

语法:
<权限访问修饰符> interface 接口名称
{
常量;
抽象方法;
}

常量默认修饰符:public static final
抽象方法默认修饰符:public abstract

 

注意:
1.接口不是类,没有构造器,不能实例化
2.接口使用interface关键字修饰,不是class
3.接口与接口之间可以多继承,但是不影响面向对象三大特征之一:单继承
4.类与接口之间的关系(多实现):实现关系,一个类可以实现多个接口
5.一个类可以在继承一个父类的同时,实现一个或多个接口


接口与抽象类的对比:

相同点:
1.都可以定义抽象方法
2.都可以定义常量
3.不能被实例化
4.所有的方法不能使用static、final修饰

不同点:
1.接口使用interface修饰,抽象类使用class修饰
2.抽象类只能被单继承,接口可以被多继承,多实现
3.抽象类中可以定义非抽象方法,接口只能定义抽象方法

 

AudioDevice.java:

package com.lqh.chapter04;

//音频设备
public interface AudioDevice {
    //常量
    public static final int MAX_VOLUMN = 100;
    //常量默认修饰符:public static final
    int MIN_VOLUMN = 0;
    
    //抽象方法
    public abstract void start();//开始播放
    //抽象方法默认修饰符:public abstract
    void pause();//暂停播放
    void stop();//停止播放
}

VADevice.java:

package com.lqh.chapter04;

//多继承
public interface VADevice extends AudioDevice, VideoDevice {

}

VideoDevice.java:

package com.lqh.chapter04;

//视频设备
public interface VideoDevice {
    //常量
    public static final int MAX_BTINGHT = 100;
    //常量默认修饰符:public static final
    int MIN_BTINGHT = 0;
    
    //抽象方法
    public abstract void turnOn();//开机
    //抽象方法默认修饰符:public abstract
    void turnOff();//关机
}

Television.java:

package com.lqh.chapter04;

//一个类可以实现多个接口
//一个类可以在继承一个父类的同时,实现一个或多个接口
public class Television extends Test implements AudioDevice,VideoDevice{

    @Override
    public void start() {
        System.out.println("开始播放");
    }

    @Override
    public void pause() {
        System.out.println("暂停播放");
    }

    @Override
    public void stop() {
        System.out.println("终止播放");
    }

    @Override
    public void turnOn() {
        System.out.println("开机");
    }

    @Override
    public void turnOff() {
        System.out.println("关机");
    }

}

Test.java:

package com.lqh.chapter04;

public class Test {
    public static void main(String[] args) {
        Television tv = new Television();
        tv.turnOn();
        tv.start();
        tv.pause();
        tv.stop();
        tv.turnOff();
    }
}

输出结果为:

开机
开始播放
暂停播放
终止播放
关机

posted @ 2021-09-17 19:34  `青红造了个白`  阅读(73)  评论(0)    收藏  举报