详述 Java 中的——访问控制权限

栏目: Java · 发布时间: 7年前

内容简介:详述 Java 中的——访问控制权限

温馨提示:本系列博文(含示例代码)已经同步到 GitHub,地址为「 java-skills 」,欢迎感兴趣的童鞋 StarFork ,纠错。

访问权限控制的等级,从最大权限到最小权限依次为: publicprotected 、包访问权限(没有关键字)和 private

  • public :任何类都可以访问;
  • protected :该类的子类及同包的类可以访问;
  • 包访问权限 :同包的类可以访问;
  • private :只有本类的成员可以访问。

每个编译单元只能有一个 public 类,否则编译器就会报错。当编译一个 .java 文件时,在 .java 文件中的每个类都会有一个输出文件,而该输出文件的名字与 .java 文件中的每个类的名称相同,只是多了一个 .class 的后缀名。因此,我们经常会发现只要编译少量的 .java 文件,就会产生大量的 .class 文件。

访问权限修饰符 publicprotectedprivate 在使用时,是置于类中每个成员的定义之前的,无论它是一个方法还是一个域。如果不提供任何访问权限修饰符,则意味着它是“包访问权限”。

如果创建了一个新包,并从另一个包中继承类,那么唯一可以访问的成员就是源包的 public 成员。当然,如果在同一个包中继续类,就可以访问所有拥有包访问权限的成员。 protected 也提供包访问权限,也就是说,相同包内的其他类也可以访问 protected 元素。

为了控制某个类的访问权限,修饰词必须出现在关键字 class 之前。此外,还有一些额外的限制:

  • 每个编译单元(文件)都只能有一个 public 类;
  • public 类的名称必须完全与含有该编译单元的文件名相匹配,包括大小写;
  • 虽然不是很常用,但编译单元内完全不带 public 类也是可能的。

最后,要注意: 类既不可以是 private 的(这样会使得除该类之外,其他任何类都不可以访问它),也不可以是 protected 。事实上,一个内部类可以是 private 或者 protected 的,但这仅是一个特例。

———— ☆☆☆ —— 返回 -> 那些年,关于 Java 的那些事儿 <- 目录 —— ☆☆☆ ————


以上所述就是小编给大家介绍的《详述 Java 中的——访问控制权限》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python for Data Analysis

Python for Data Analysis

Wes McKinney / O'Reilly Media / 2012-11-1 / USD 39.99

Finding great data analysts is difficult. Despite the explosive growth of data in industries ranging from manufacturing and retail to high technology, finance, and healthcare, learning and accessing d......一起来看看 《Python for Data Analysis》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器