首页 > Java > java教程 > 正文

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

WBOY
发布: 2024-04-26 08:54:01
原创
602人浏览过

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

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

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

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

访问权限修饰符

立即学习Java免费学习笔记(深入)”;

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

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

模块系统

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

Clippah
Clippah

AI驱动的创意视频处理平台

Clippah 202
查看详情 Clippah

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

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

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号