เราสามารถใช้ import statement เพื่อนำเข้า classes และ interfaces ของแพ็กเกจเฉพาะ เมื่อใช้ import statement ไม่จำเป็นต้องใช้ fully qualified name และสามารถใช้ ชื่อสั้น (short name) โดยตรง เราสามารถใช้ static import เพื่อ นำเข้า static member จากคลาสและแพ็กเกจเฉพาะ เมื่อใช้ static import ไม่จำเป็นต้องใช้ชื่อคลาส เพื่อเข้าถึง static member และสามารถใช้โดยตรงได้
Import Statement
- เพื่อเข้าถึงคลาสหรือเมธอดจากแพ็กเกจอื่น เราต้องใช้ fully qualified name หรือใช้ import statements
- คลาสหรือเมธอดต้องเข้าถึงได้ (accessible) โดยขึ้นอยู่กับ access modifiers
- สมาชิก Private เข้าถึงได้เฉพาะภายในคลาสเดียวกัน ดังนั้นเราจะไม่สามารถเข้าถึง private member ได้แม้จะใช้ fully qualified name หรือ import statement
- แพ็กเกจ java.lang ถูกนำเข้าโดยอัตโนมัติในโค้ดของเราโดย Java
ตัวอย่าง
import java.util.Vector;
public class ImportDemo {
public ImportDemo() {
// Imported using keyword, hence able to access directly in the code without package qualification.
Vector v = new Vector();
v.add("Tutorials");
v.add("Point");
v.add("India");
System.out.println("Vector values are: "+ v);
// Package not imported, hence referring to it using the complete package.
java.util.ArrayList list = new java.util.ArrayList();
list.add("Tutorix");
list.add("India");
System.out.println("Array List values are: "+ list);
}
public static void main(String arg[]) {
new ImportDemo();
}
}
ผลลัพธ์
Vector values are: [Tutorials, Point, India] Array List values are: [Tutorix, India]
Static Import Statement
- Static imports จะนำเข้า static data ทั้งหมด เพื่อให้สามารถใช้ โดยไม่ต้องใช้ชื่อคลาส
- Static import declaration มี 2 รูปแบบ: หนึ่งสำหรับนำเข้า static member เฉพาะตัว (single static import) และอีกอันนำเข้า static members ทั้งหมดของคลาส (static import on demand)
- Static imports ถูกนำเข้ามาใน Java 5 version
- ข้อดีหนึ่งของ static imports คือ ลดการพิมพ์คีย์สตริง (keystrokes) และเพิ่ม re-usability
ตัวอย่าง
import static java.lang.System.*; // Using Static Import
public class StaticImportDemo {
public static void main(String args[]) {
// System.out is not used as it is imported using the keyword static.
out.println("Welcome to Tutorials Point");
}
}
ผลลัพธ์
Welcome to Tutorials Point