수색…


소개

java의 패키지는 클래스와 인터페이스를 그룹화하는 데 사용됩니다. 이렇게하면 많은 수의 클래스가있을 때 개발자가 충돌을 피할 수 있습니다. 이 패키지를 사용하면 다른 패키지에 같은 이름의 클래스 / 인터페이스를 만들 수 있습니다. 패키지를 사용하여 다른 클래스에서 다시 조각을 가져올 수 있습니다. 거기에 자바 에서 많은 패키지내장 > 1.java.util> 2.java.lang> 3.java.io 우리는 우리 자신의 사용자 정의 패키지를 정의 할 수 있습니다.

비고

패키지는 액세스 보호를 제공합니다.

package 문은 소스 코드의 첫 번째 줄이어야합니다. 하나의 소스 파일에는 하나의 패키지 만있을 수 있습니다.

패키지의 도움으로 다른 모듈 간의 충돌을 피할 수 있습니다.

패키지를 사용하여 같은 이름의 클래스 만들기

첫 번째 Test.class :

package foo.bar

public class Test {

}

다른 패키지의 Test.class

package foo.bar.baz

public class Test {

}

두 클래스가 다른 패키지에 존재하기 때문에 위의 내용은 훌륭합니다.

패키지 보호 범위 사용

Java에서 액세스 한정자를 제공하지 않으면 변수의 기본 범위는 패키지로 보호 된 수준입니다. 즉, 클래스가 공개적으로 사용할 수있는 것처럼 동일한 패키지 내의 다른 클래스의 변수에 액세스 할 수 있습니다.

package foo.bar

public class ExampleClass {
    double exampleNumber;
    String exampleString;

    public ExampleClass() {
        exampleNumber = 3;
        exampleString = "Test String";
    }
    //No getters or setters
}

package foo.bar

public class AnotherClass {
    ExampleClass clazz = new ExampleClass();

    System.out.println("Example Number: " + clazz.exampleNumber);
    //Prints Example Number: 3
    System.out.println("Example String: " + clazz.exampleString);
    //Prints Example String: Test String
}

이 방법은 다른 패키지의 클래스에서는 작동하지 않습니다.

package baz.foo

public class ThisShouldNotWork {
    ExampleClass clazz = new ExampleClass();

    System.out.println("Example Number: " + clazz.exampleNumber);
    //Throws an exception
    System.out.println("Example String: " + clazz.exampleString);
    //Throws an exception
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow