Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

동일한 패키지를 두 번 가져올 수 있습니까? JVM은 런타임에 패키지를 두 번 로드합니까?

<시간/>

Java에서 서로 관련된 클래스와 인터페이스는 패키지 아래에 그룹화됩니다. 패키지는 특정 개념의 클래스와 인터페이스를 저장하는 디렉토리에 불과합니다. 예를 들어 입출력 작업과 관련된 모든 클래스와 인터페이스는 java.io 패키지에 저장됩니다.

패키지 만들기

package as 키워드를 사용하여 클래스/인터페이스(파일) 상단에 패키지를 선언하기만 하면 하나의 패키지 아래에 필요한 클래스와 인터페이스를 그룹화할 수 있습니다. -

예시

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

대상 경로를 언급하지 않은 경우 패키지는 현재 디렉토리에 생성됩니다.

클래스 가져오기

패키지 아래에 그룹화된 클래스/인터페이스에 액세스하려면 클래스 경로 변수에 패키지의 위치를 ​​추가하고(또는 패키지가 현재 디렉토리에 있는지 확인) import 키워드를 사용하여 패키지의 클래스/인터페이스를 가져와야 합니다. .

예시

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의 Sample 클래스를 가져오려고 합니다. 한 번만 패키지하십시오.

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