四種可見性層級:
| 可見性 | public | protected | package (預設) | private |
|---|---|---|---|---|
| 同一類別內 | yes | yes | yes | yes |
| 同一套件內 | yes | yes | yes | no |
| 不同套件 | yes | no | no | no |
| 同套件子類別 | yes | yes | yes | no |
| 不同套件子類別 | yes | yes | no | no |
public、protected、private 為顯式修飾符;package(或 default)為隱含,無修飾符即為套件層級。public,子必為 public)。private,透過 getXxx()/setXxx() 存取,確保資料一致性。package 宣告,屬於預設套件。package testPackage;
public class Test {
public static void main(String[] args) {
mNode node = new mNode();
node.print("hello");
}
}
package 陳述句必須在檔案最前端。javac -d . Test.java 自動建立套件目錄結構。java testPackage.Test。protected/package 限制可見性。import java.util.Vector;import java.awt.*;(僅匯入 public 類別且按需載入,不影響效能)。* 只能代替類別名,不可代替套件名(import java.awt.*; 不會匯入 java.awt.event)。import java.awt.F*; 錯誤語法。import 陳述句置於所有類別定義之前、package 之後。import 僅告知編譯器去哪裡找定義,不將定義實際引入程式碼。java.lang 類別無需 import 直接使用(如 String、System)。java.awt.Font。import java.awt.*;。