接口只用於定義類型(19)

一、類實現了接口,接口就充當引用類實例的類型java

  • 爲了其餘任何理由定義接口是不恰當的

二、常量接口不知足一、是對接口的不良使用函數

  • 類實現常量接口,對於類沒有任何價值
  • 非final 類實現常量接口,全部子類命名空間都會被污染

三、應該使用枚舉類或者不可實例化的工具類(構造函數私有化)工具

  • 工具類導出的常量,用靜態導入機制,避免使用類名

四、接口只被用來導出類型,不要用來導出常量性能

五、Static Import機制經常被直譯成「靜態導入」spa

  • 「靜態導入」或者「靜態成員導入」

  • 精準導入靜態變量、靜態方法
  • 能夠導入一個類裏的一切被static修飾的東西,包括變量、常量、方法和內類
import static java.lang.Math.PI;

import static java.lang.Math.sin;

//聲明遇到來歷不明的成員時到java.lang.Math中去尋找
//並非把這個類或接口裏的全部靜態成員所有導入
import static java.lang.Math.*;
  • 若是兩個語句都是精確導入的形式,或者都是按需導入的形式,那麼會形成編譯錯誤。
  • 若是一個語句採用精確導入,一個採用按需導入的形式,那麼採用精確導入的形式的一個有效。
  • 導入的東西還可能和本地的東西相沖突,這種狀況下的處理規則,是「本地優先"
  • 都會被編譯器打回原型。所以在性能方面,Static Import沒有任何影響
  • 增長了閱讀理解的麻煩
  • 可能給維護工做帶來必定的困擾
相關文章
相關標籤/搜索