由先前範例已經成功建立了基本的模組,接下來要了解更多關於module-info.java檔案編寫的宣告指令,如exports、requires、provides、uses和opens等出現和使用的時機。
模組宣告指令exports和requires是Java關鍵字嗎?
先前我們提供過Java的關鍵字列表,但exports和requires並未出現在列表,甚至也沒有module這個字。事實上,這些字屬於編寫模組資訊檔module-info.java內的關鍵字,一旦不在這範圍就不是,因此在撰寫類別或介面時依然可以使用這些字作為變數名稱。
Java為了考慮向前相容(如使用Java 8編寫的程式碼,依然可以通過Java 11的編譯),不能隨意增加關鍵字,否則將導致升版之後過去程式必須改寫。因為模組化是Java 9才出現的功能,把這些關鍵字定義在module-info.java範圍內就沒有問題。
沒有留言:
張貼留言