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

2024年 4月 26日 48.6k 0

java 9 模块系统改变了访问权限修饰符的含义:public 修饰符允许外部模块访问;protected 修饰符允许导出包的模块访问;default 修饰符限制访问到导出包的模块;private 修饰符仅允许声明模块内访问。

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

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

Java 9 引入了模块系统,这是一种对 Java 应用程序进行组织和打包的新方法。模块系统为 Java 语言中现有的访问权限修饰符(public、protected、default 和 private)引入了新的含义。

访问权限修饰符

Java 中的访问权限修饰符指定了哪些类和包可以访问该类、字段或方法。这四个访问权限修饰符的解释如下:

  • public:对所有类和包都可以访问。
  • protected:对同一包中的所有类和所有子类都可以访问。
  • default(也称为 package-private):仅对同一包中的类可以访问。
  • private:仅对声明该类、字段或方法的类可以访问。

模块系统

Java 9 模块系统允许您将代码组织成模块。模块是一个编译单元的集合,它具有明确的依赖项和导出的包。模块系统通过在模块和程序包之间建立依赖关系来加强封装。

访问权限修饰符与模块系统

在 Java 9 模块系统中,访问权限修饰符的作用发生了变化:

  • public:类、字段或方法可以直接从模块外部访问。
  • protected:类、字段或方法只能从模块内部或导出包的模块中直接访问。
  • default(package-private):类、字段或方法只能从导出包的模块中访问。
  • 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 包被导出,因此其他模块可以访问其公共类、字段和方法。

  • publicMethod 是公开的,可以从任何模块访问。
  • protectedMethod 是受保护的,只能从 demo.module 或导入了 demo.package 包的模块中访问。
  • defaultMethod 是默认的,只能从导入了 demo.package 包的模块中访问。
  • privateMethod 是私有的,只能从 demo.module 中访问。

结论

通过理解 Java 9 模块系统和访问权限修饰符之间的关系,您可以加强应用程序的封装并管理对代码的访问。

以上就是Java 函数的访问权限修饰符之与 Java 9 模块系统的关系的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论