1. 程式人生 > 其它 >Java基礎筆記35——介面

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();
    }
}

輸出結果為:

開機
開始播放
暫停播放
終止播放
關機