Java中的介面

scbiaosdo發表於2018-04-18
介面:體現的是事務的擴充套件性功能(額外的,後天經過學習的等等)

介面格式(識別符號:類,介面:見名知意)

     
   interface  介面名{
             //抽象功能
             public abstract void jump() ;
         }

介面的特點:

不能例項化

介面的子實現類:

實現類 (具體的實現類)

         class 類名+impl implements 介面名{            
        }
介面的子類如果是抽象類:沒有意義,不能例項化

一個類可以實現多個介面。


介面中可以含有變數和方法

但是要注意,介面中的變數會被隱式地指定為public static final變數(並且只能是public static final變數,用private修飾會報編譯錯誤),而方法會被隱式地指定為public abstract方法且只能是public abstract方法(用其他關鍵字,比如private、protected、static、 final等修飾會報編譯錯誤),並且介面中所有的方法不能有具體的實現,也就是說,介面中的方法必須都是抽象方法。從這裡可以隱約看出介面和抽象類的區別,介面是一種極度抽象的型別,它比抽象類更加“抽象”,並且一般情況下不在介面中定義變數。

示例程式:


interface A{                                   //定義一個介面A

    public static final String MSG = "hello";

    public abstract void print();//抽象方法
}

interface B{                                  //定義一個介面B

    public abstract void get();
}

abstract class C{                            //定義一個抽象類C
    public abstract void change();
}

class X extends C implements A,B{            //X類繼承C類,並實現了A和B兩個介面
    public void print() {
        System.out.println("介面A的抽象方法print()");
    }
    public void get() {
        System.out.println("介面B的抽象方法get()");
    }
    public void change() {
        System.out.println("抽象類C的抽象方法change()");

    }

}

相關文章