Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤與異常

Java 多執行緒

Java 同步

Java 網路程式設計

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 與框架

Java 類參考

Java 有用資源

Java - import 關鍵字



Java 的 import 關鍵字用於包的上下文中。這個 import 關鍵字是為了使用包的元件,其中包在 Java 中被用於防止命名衝突,控制訪問,使類、介面、列舉和註解的搜尋/定位和使用更容易等。

可以定義為相關型別(類、介面、列舉和註解)的組合,提供訪問保護和名稱空間管理。

Java 中一些現有的包有:

  • java.lang - 包含基本類

  • java.io - 輸入、輸出函式的類都包含在這個包中

程式設計師可以定義自己的包來組合一組類/介面等。這是一個很好的實踐,可以將你實現的相關類組合在一起,這樣程式設計師就可以很容易地確定這些類、介面、列舉和註解是相關的。

由於包建立了一個新的名稱空間,因此不會與其他包中的名稱發生任何名稱衝突。使用包,更容易提供訪問控制,也更容易找到相關的類。

如果一個類想要使用同一包中的另一個類,則不需要使用包名。同一包中的類無需任何特殊語法就可以相互找到。

示例

這裡,一個名為 Boss 的類被新增到 payroll 包中,該包已經包含 Employee。然後 Boss 可以引用 Employee 類而無需使用 payroll 字首,如下面的 Boss 類所示。

package payroll;
public class Boss {
   public void payEmployee(Employee e) {
      e.mailCheck();
   }
}

如果 Employee 類不在 payroll 包中會發生什麼?然後 Boss 類必須使用以下技術之一來引用不同包中的類。

  • 可以使用類的完全限定名。例如:
payroll.Employee
  • 可以使用 import 關鍵字和萬用字元 (*) 匯入包。例如:

import payroll.*;
  • 可以使用 import 關鍵字匯入類本身。例如:
import payroll.Employee;

示例

package payroll;

public class Employee {
   public void mailCheck() {
      System.out.println("Pay received.");    
   }
}

示例

package payroll;

import payroll.Employee;

public class Boss {
   public void payEmployee(Employee e) {
      e.mailCheck();
   }
   
   public static void main(String[] args) {
      Boss boss = new Boss();
	  Employee e = new Employee();
      boss.payEmployee(e);
   }
}

輸出

Pay received.

注意 - 一個類檔案可以包含任意數量的 import 語句。import 語句必須出現在 package 語句之後和類宣告之前。

包的目錄結構

將類放入包中時會產生兩個主要結果:

  • 正如我們在上一節中討論的那樣,包的名稱成為類名稱的一部分。

  • 包的名稱必須與相應的位元組碼所在的目錄結構匹配。

以下是管理 Java 檔案的簡單方法:

將類、介面、列舉或註解型別的原始碼放在一個文字檔案中,其名稱是型別的簡單名稱,副檔名為 .java

例如:

// File Name :  Car.java
package vehicle;

public class Car {
   // Class implementation.   
}

現在,將原始檔放在一個目錄中,該目錄的名稱反映了類所屬的包的名稱:

....\vehicle\Car.java

現在,限定類名和路徑名如下:

  • 類名 → vehicle.Car
  • 路徑名 → vehicle\Car.java(在 Windows 中)

通常,公司使用其反轉的網際網路域名作為其包名。

示例 - 如果一家公司的網際網路域名是 apple.com,那麼其所有包名都將以 com.apple 開頭。包名的每個元件對應一個子目錄。

示例 - 如果公司有一個 com.apple.computers 包,其中包含一個 Dell.java 原始檔,它將包含在一系列子目錄中,如下所示:

....\com\apple\computers\Dell.java

在編譯時,編譯器為其中定義的每個類、介面和列舉建立一個不同的輸出檔案。輸出檔案的基名稱是型別的名稱,其副檔名為 .class

例如:

// File Name: Dell.java
package com.apple.computers;

public class Dell {
}

class Ups {
}

現在,使用 -d 選項編譯此檔案,如下所示:

$javac -d . Dell.java

檔案將按如下方式編譯:

.\com\apple\computers\Dell.class
.\com\apple\computers\Ups.class

您可以匯入 \com\apple\computers\ 中定義的所有類或介面,如下所示:

import com.apple.computers.*;
java_basic_syntax.htm
廣告
© . All rights reserved.