Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

ฉันสามารถนำเข้าแพ็คเกจเดียวกันสองครั้งได้หรือไม่? JVM จะโหลดแพ็คเกจสองครั้งที่รันไทม์หรือไม่


ในคลาส Java และอินเทอร์เฟซที่เกี่ยวข้องกันจะถูกจัดกลุ่มภายใต้แพ็คเกจ แพ็คเกจไม่มีอะไรเลยนอกจากไดเร็กทอรีที่เก็บคลาสและอินเทอร์เฟซของแนวคิดเฉพาะ ตัวอย่างเช่น คลาสและอินเทอร์เฟซทั้งหมดที่เกี่ยวข้องกับการดำเนินการอินพุตและเอาต์พุตจะถูกเก็บไว้ในแพ็คเกจ java.io

การสร้างแพ็คเกจ

คุณสามารถจัดกลุ่มคลาสและอินเทอร์เฟซที่จำเป็นภายใต้แพ็คเกจเดียวโดยการประกาศแพ็คเกจที่ด้านบนของคลาส/อินเทอร์เฟซ (ไฟล์) โดยใช้คำหลัก แพ็คเกจเป็น

ตัวอย่าง

package com.tutorialspoint.mypackage;
public class Sample{
   public void demo(){
      System.out.println("This is a method of the sample class");
   }
   public static void main(String args[]){
      System.out.println("Hello how are you......");
   }
}

แตกต่างจากโปรแกรมอื่นๆ ในการคอมไพล์โปรแกรมด้วยแพ็คเกจ คุณต้องใช้ –d ตัวเลือกของคำสั่ง javac ที่ระบุเส้นทางปลายทางที่คุณต้องการสร้างแพ็คเกจ

ผลลัพธ์

javac –d . Sample.java

หากคุณไม่ได้ระบุเส้นทางปลายทาง แพ็คเกจจะถูกสร้างขึ้นในไดเรกทอรีปัจจุบัน

การนำเข้าคลาส

ในการเข้าถึงคลาส/อินเทอร์เฟซที่จัดกลุ่มภายใต้แพ็คเกจ คุณต้องเพิ่มตำแหน่งของแพ็คเกจในตัวแปร classpath (หรือตรวจสอบให้แน่ใจว่าแพ็คเกจอยู่ในไดเร็กทอรีปัจจุบัน) และนำเข้าคลาส/อินเทอร์เฟซโดยใช้คำสำคัญนำเข้า .

ตัวอย่าง

import com.tutorialspoint.mypackage.Sample;
public class Test{
   public static void main(String args[]){
      Sample obj = new Sample();
      obj.demo();
   }
}

ผลลัพธ์

This is a method of the sample class

นำเข้าคลาสสองครั้ง

ได้ คุณสามารถนำเข้าคลาสได้สองครั้งใน Java ซึ่งจะไม่สร้างปัญหาใดๆ แต่ไม่ว่าจะนำเข้ากี่ครั้ง JVM จะโหลดคลาสเพียงครั้งเดียว

ตัวอย่าง

ในโปรแกรม Java ต่อไปนี้ เรากำลังพยายามนำเข้าคลาสตัวอย่างของ com.tutorialspoint.mypackage เพียงครั้งเดียวเท่านั้น

import com.tutorialspoint.mypackage.Sample;
import com.tutorialspoint.mypackage.Sample;
public class Test{
   public static void main(String args[]){
      Sample obj = new Sample();
      obj.demo();
   }
}

ผลลัพธ์

Sample class loaded
This is a method of the sample class