>  기사  >  Java  >  Java 함수 액세스 수정자가 Java 9 모듈 시스템과 관련되는 방식

Java 함수 액세스 수정자가 Java 9 모듈 시스템과 관련되는 방식

WBOY
WBOY원래의
2024-04-26 08:54:01463검색

Java 9 모듈 시스템에서는 액세스 수정자의 의미가 변경되었습니다. 공개 수정자는 외부 모듈의 액세스를 허용하고, 보호 수정자는 내보낸 패키지의 모듈에 대한 액세스를 허용합니다. 모듈 액세스를 선언했습니다.

Java 函数的访问权限修饰符之与 Java 9 模块系统的关系

Java 함수 액세스 수정자가 Java 9 모듈 시스템과 관련되는 방식

Java 9에서는 Java 애플리케이션을 구성하고 패키지하는 새로운 방법인 모듈 시스템을 도입합니다. 모듈 시스템은 Java 언어(공용, 보호, 기본 및 개인)의 기존 액세스 한정자에 새로운 의미를 도입합니다.

액세스 한정자

Java의 액세스 한정자는 클래스, 필드 또는 메서드에 액세스할 수 있는 클래스와 패키지를 지정합니다. 네 가지 액세스 한정자는 다음과 같이 설명됩니다.

  • public: 모든 클래스와 패키지에 액세스할 수 있습니다.
  • protected: 동일 패키지의 모든 클래스와 모든 하위 클래스에 액세스할 수 있습니다.
  • 기본값(package-private이라고도 함): 동일 패키지의 클래스에만 액세스할 수 있습니다.
  • private: 클래스, 필드, 메소드가 선언된 클래스에만 접근 가능합니다.

모듈 시스템

Java 9 모듈 시스템을 사용하면 코드를 모듈로 구성할 수 있습니다. 모듈은 명시적인 종속성과 내보낸 패키지가 있는 컴파일 단위의 모음입니다. 모듈 시스템은 모듈과 패키지 간의 종속성을 설정하여 캡슐화를 시행합니다.

액세스 한정자와 모듈 시스템

Java 9 모듈 시스템에서 액세스 한정자의 역할이 변경되었습니다.

  • public: 클래스, 필드 또는 메서드는 모듈 외부에서 직접 액세스할 수 있습니다.
  • protected: 클래스, 필드 또는 메서드는 모듈 내부 또는 패키지를 내보내는 모듈에서만 직접 액세스할 수 있습니다.
  • 기본값(패키지-개인): 클래스, 필드 또는 메서드는 패키지를 내보낸 모듈에서만 액세스할 수 있습니다.
  • private: 클래스, 필드 또는 메서드는 선언 모듈에서만 액세스할 수 있습니다.

실용 예제

다음 예제 모듈을 고려하세요.

module demo.module {
    exports demo.package;
}

package demo.package;

class MyClass {
    public void publicMethod() { }
    protected void protectedMethod() { }
    void defaultMethod() { }
    private void privateMethod() { }
}

이 예제에서는 demo.package 패키지를 내보내므로 다른 모듈이 공개 클래스, 필드 및 메서드에 액세스할 수 있습니다. demo.package 包被导出,因此其他模块可以访问其公共类、字段和方法。

  • publicMethod 是公开的,可以从任何模块访问。
  • protectedMethod 是受保护的,只能从 demo.module 或导入了 demo.package 包的模块中访问。
  • defaultMethod 是默认的,只能从导入了 demo.package 包的模块中访问。
  • privateMethod 是私有的,只能从 demo.module
publicMethod는 공개되어 모든 모듈에서 액세스할 수 있습니다.

protectedMethod는 보호되어 있으며 demo.module 또는 demo.package 패키지를 가져온 모듈에서만 액세스할 수 있습니다.

defaultMethod는 기본값이며 demo.package 패키지를 가져오는 모듈에서만 액세스할 수 있습니다.

privateMethod는 비공개이며 demo.module에서만 액세스할 수 있습니다. 🎜🎜🎜🎜결론🎜🎜🎜Java 9 모듈 시스템과 액세스 수정자 간의 관계를 이해하면 애플리케이션의 캡슐화를 향상하고 코드에 대한 액세스를 관리할 수 있습니다. 🎜

위 내용은 Java 함수 액세스 수정자가 Java 9 모듈 시스템과 관련되는 방식의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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