JAVA9接口新用法

接口

接口的定義

public interface 接口名稱 {
// 抽象方法
// 默認方法
// 靜態方法
}

接口中包含的方法

java7 包含 : 1.常量   2. 抽象方法 
java8 包含 : 3.默認方法 4.靜態方法 
java9 包含 : 5.私有方法

接口不可以直接使用 , 必須有一個實現類來實現該接口

接口中的抽象方法的使用

public interface Demointerface {
    
    public abstract void method();
}
注意事項:
1.接口當中的抽象方法 , 修飾符必須是兩個固定的關鍵字 public abstract
2.這兩個關鍵字修飾符 , 可以選擇性的省略 . 

接口中默認方法的使用

public interface Demointerface {

    public abstract void method();

    public default void methodA(){
        System.out.println("這是一個默認方法");  
    }
}

這個默認方法 實現類不用進行重寫也可以使用

接口中靜態方法的使用

public static 返回值類型 方法名稱 (參數列表){
    方法體
}

通過接口名稱 , 直接調用其中的靜態方法

接口名稱 .靜態方法名(參數);

接口中私有方法的使用

我們需要抽取一個共有的方法 , 用來解決兩個默認方法之間重複代碼的問題 , 但是這個共有方法不應該讓實現類使用,應該是私有化的

私有方法剛好可以解決 java9新添加的

1.普通私有方法 : 解決多個默認方法之間重複代碼問題

格式 :

private 返回值類型 方法名稱 (參數列表) {
方法體
}

2.靜態私有方法 , 解決多個靜態方法之間重複代碼問題

格式

 private static 返回值類型 方法名稱 (參數列表){
    方法體    
 }

接口中成員變量的使用 :

接口中也可以定義成員變量 , 但是必須使用public static final 三個關鍵字進行修飾 , 從效果上看 ,其實就是常量

格式

public static final 數據類型 常量名稱 =數據值 ;

一旦使用了final 關鍵字進行修飾 , 說明不可改變

注意事項 :

1.接口中的常量 ,可以省略public static final , 注意 ; 不寫也照樣是也可以的

2.接口當中的常量 必須進行賦值 , 不能不賦值

3.接口當總常量的名稱 ,使用完全大寫的字母 ,用下劃線進行分割

在Java 9+版本中,接口的內容可以有:

  1. 成員變量其實是常量,格式:
    [public][static] [final] 數據類型 常量名稱 = 數據值;
    注意:
    常量必須進行賦值,而且一旦賦值不能改變。
    常量名稱完全大寫,用下劃線進行分隔。
  2. 接口中最重要的就是抽象方法,格式:
    [public][abstract] 返回值類型 方法名稱(參數列表);
    注意:實現類必須覆蓋重寫接口所有的抽象方法,除非實現類是抽象類。
  3. 從Java 8開始,接口裏允許定義默認方法,格式:
    [public] default 返回值類型 方法名稱(參數列表) { 方法體 }
    注意:默認方法也可以被覆蓋重寫
  4. 從Java 8開始,接口裏允許定義靜態方法,格式:
    [public] static 返回值類型 方法名稱(參數列表) { 方法體 }
    注意:應該通過接口名稱進行調用,不能通過實現類對象調用接口靜態方法
  5. 從Java 9開始,接口裏允許定義私有很乏,格式:
    普通私有方法:private 返回值類型 方法名稱(參數列表) { 方法體 }
    靜態私有方法:private static 返回值類型 方法名稱(參數列表) { 方法體 }
    注意:private的方法只有接口自己才能調用,不能被實現類或別人使用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章