Java9模組化簡明例子
阿新 • • 發佈:2018-12-09
個人對Java9的模組化的理解
個人對Java9模組化的簡單理解是:模組是 package 的容器,是 package 的上一層。在模組裡,可以輸出(管理)當前模組哪些包是對外暴露(exports)的。同樣的,當前模組需要別的模組,就要引用(requires)進來。
Java9模組化的例子
使用Idea建立一個專案 java-9-module-demo,新增兩個模組: - module-main:主模組 - module-user:使用者模組
這個例子將演示模組化的作用和寫法,實現了以下功能:
- 主模組需要使用者模組中的 User
類。
- 使用者模組暴露(輸出)了 User
HiddenClass
類,因為使用者模組沒有輸出(exports)這個類所在的包。
專案結構如下圖所示:
主類
package main;
import user.User;
/**
* 主類
*
* @author Zebe
*/
public class Main {
/**
* 執行入口
*
* @param args 執行引數
*/
public static void main(String[] args) {
// 呼叫 module-user 模組中的 User 類
User user = new User();
user.sayHello();
}
}
使用者類
package user;
/**
* 使用者類
*
* @author Zebe
*/
public class User {
/**
* 打招呼
*/
public void sayHello() {
System.out.println("hello, 我是 module-user 模組 user 包裡面的 User 類!");
}
}
隱藏類
package invisible;
/**
* 隱藏類
*
* @author Zebe
*/
public class HiddenClass {
public void test() {
System.out.println("Test");
}
}
主模組資訊定義
/**
* module-main 主模組資訊定義
* @author Zebe
*/
module module.main {
// 需要 module-user 模組
requires module.user;
}
使用者模組資訊定義
/**
* module-user 使用者模組資訊定義
* @author Zebe
*/
module module.user {
// 輸出(對外暴露)整個 user 包
exports user;
//exports invisible;
}
小結
眼過千遍,不如手過一遍。對於程式設計的學習,在於積累和不斷的練習。