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

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

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 模块系统的关系的详细内容,更多请关注叮当号网其它相关文章!

文章来自互联网,只做分享使用。发布者:木子,转转请注明出处:https://www.dingdanghao.com/article/407887.html

(0)
上一篇 2024-04-26 09:21
下一篇 2024-04-26 10:00

相关推荐

联系我们

在线咨询: QQ交谈

邮件:442814395@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信公众号