>  기사  >  Java  >  자바 패키지를 사용하는 방법

자바 패키지를 사용하는 방법

(*-*)浩
(*-*)浩원래의
2019-05-27 16:17:437327검색

Java의 패키지는 클래스 라이브러리 단위입니다. 패키지에는 단일 네임스페이스 아래에 함께 구성된 클래스 그룹이 포함되어 있습니다. 이 네임스페이스는 패키지 이름입니다.

자바 패키지를 사용하는 방법

그럼 Java 패키지는 어떻게 사용하나요?

import 키워드를 사용하여 패키지를 가져올 수 있습니다. 예를 들어 java.util 패키지 네임스페이스의 모든 클래스를 가져오려면 import java.util.*를 사용합니다. 소위 이 패키지의 모든 클래스 가져오기는 가져오기에서 패키지 이름을 선언한 후 패키지의 클래스를 후속 프로그램에서 직접 사용할 수 있음을 의미합니다.

예:

import java.util.*  
  
public class SingleImport  
{  
    public static void main(Strin[] args)  
    {  
        ArrayList list=nwe ArrayList();  
    }  
}

여기서 ArrayList는 java.util 패키지의 클래스이지만 프로그램에서 import 키워드를 사용하여 java.util 패키지를 로드하기 때문에 ArrayList 클래스에 대한 정의 및 선언이 없습니다. , 이 클래스 앞에 정규화된 이름이 표시되지 않으므로 이 클래스를 직접 사용할 수 있습니다.

패키지 이름을 가져오는 이유는 네임스페이스를 관리하는 메커니즘을 제공하기 위해서입니다.

클래스 A와 클래스 B라는 두 개의 클래스가 있고 둘 다 동일한 기능 태그(매개변수 목록)가 있는 메서드 f()를 포함하는 경우 이 두 메서드 f()가 프로그램에서 동시에 사용되는 경우에도 마찬가지입니다. 동일한 코드 조각 앞에는 두 개의 서로 다른 클래스 이름이 정규화된 이름으로 있기 때문에 충돌이 발생하지 않으므로 두 메서드의 이름이 같더라도 충돌하지 않습니다. 하지만 클래스 이름이 서로 충돌하면 어떻게 될까요? Apple 클래스를 작성하고 이미 다른 사람이 작성한 Apple 클래스가 있는 컴퓨터에 설치한다고 가정해 보겠습니다. 이 문제를 어떻게 해결합니까?

머신에 어떤 클래스가 설치되어 있는지 파악하기가 쉽지 않기 때문에 이름 간에 잠재적인 충돌 가능성이 항상 존재합니다. Java에서는 네임스페이스를 완벽하게 제어하고 각 클래스에 대한 고유한 식별자 조합을 만드는 것이 매우 중요합니다. 동일한 시스템에 공존하는 다른 Java 프로그램에 친화적인 클래스 라이브러리나 프로그램을 작성하려면 클래스 이름 간의 충돌을 방지하는 방법을 고려해야 합니다.

Java 소스 코드 파일을 작성할 때 이 파일을 일반적으로 컴파일 단위라고 합니다.

각 컴파일 단위에는 .java라는 접미사 이름이 있어야 하며 컴파일 단위에는 공개 클래스가 하나만 있어야 합니다. 그렇지 않으면 컴파일러는 이를 허용하지 않습니다.

공개 클래스 이름은 파일 이름과 동일해야 합니다(대소문자를 포함하되 접미사 .java는 포함하지 않음). 컴파일 단위에 추가 클래스가 있는 경우 이러한 클래스는 공용 클래스가 아니며 주로 기본 공용 클래스에 대한 지원을 제공하는 데 사용되므로 패키지 외부에는 표시되지 않습니다.

.java 파일(즉, 컴파일 단위)을 컴파일할 때 .java 파일의 각 클래스는 출력 파일을 가지며 출력 파일의 이름은 .java 파일의 각 클래스 이름과 동일합니다. 제외하고 추가 접미사 .class가 있습니다. 따라서 소수의 .java 파일을 컴파일한 후에는 많은 수의 .class 파일을 얻게 됩니다.

모든 .java 파일은 컴파일 후에 공개 클래스를 갖게 되며 비공개 클래스도 여러 개 갖게 됩니다. 따라서 각 .java 파일은 구성 요소입니다. 이러한 구성 요소가 동일한 그룹에 속하도록 하려면 각 .java 파일에서 package 키워드를 사용할 수 있습니다. 그리고 이 그룹은 클래스 라이브러리입니다.

위 내용은 자바 패키지를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.