Java基础详解 (一)Java的类成员访问权限修饰词(以及类访问权限)

简介:

   在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词。Java的类成员访问权限修饰词有四类:private,无(默认情况下),protected和public。其权限控制如下表所示:

   

修饰词 本类 同一个包的类 继承类 其他类
private × × ×
无(默认) × ×
protected ×
public

    其中,默认情况下没有任何修饰词,这样的类成员具有“包访问权”,即位于同一个包中的类对其有访问权;而protected为“继承访问权”,即该类的子类对其具有访问权(同时,位于同一个包中的类也对其具有访问权)。

    而对于Java中的“类”(不是其内部成员,两者要区分开),其访问权限修饰词仅有public和“无”(即包访问权)两种,而没有private和protected(有 一个特例,就是“内部类”,其可以是private或protected的)。所以对于类的访问权限,你仅有两个选择:包访问权或是public。如果你 不希望其他任何人对该类拥有访问权,你可以把所有的构造器都指定为private,从而阻止任何人创建该类的对象。但是有一个例外,就是在该类的 static成员内部进行创建。如:

    class Soup {
       // private Constructor!
       private Soup() {}
       // Allow creation via static method:
       public static Soup makeSoup() {
           return new Soup();
       }
    }

    另外,如果一个类的访问权限为“包访问权”,并且其内部有一个static的成员为public的话,则其他包中的类仍旧可以访问该static成员,哪怕它们并不能生成该类的对象。




    本文转自 一点点征服   博客园博客,原文链接:http://www.cnblogs.com/ldq2016/p/5261345.html,如需转载请自行联系原作者



相关文章
|
机器学习/深度学习 算法 安全
密码学系列之六:公钥密码体制
密码学系列之六:公钥密码体制
|
存储 NoSQL 关系型数据库
【云原生】3.3 Kubernetes 中间件部署实战
一个项目总会有数据吧?数据存那里呢?在前面我们讲过,很明显直接存在数据卷里面(PVC),例如 MySQL的数据。比如 MySQL有自己的配置文件、Redis 有自己的配置文件、微服务也有自己的配置文件,将它们挂在到配置集里面(ConfigMap),服务采用的是 ClusterlP 与 NodePort。......
2253 111
【云原生】3.3 Kubernetes 中间件部署实战
|
4月前
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
173 21
|
8月前
|
机器学习/深度学习 弹性计算 缓存
简单聊聊,阿里云2核2G3M带宽云服务器与轻量应用服务器区别及选择参考
2核2G3M带宽云服务器与轻量应用服务器是目前阿里云的活动中,入门级走量型云服务器,轻量云服务器2核2G3M带宽68元一年,经济型e实例云服务器2核2G3M带宽99元1年。同样的配置,对于有的新手用户来说,有必要了解一下他们之间的区别,以及各自的购买和续费相关政策,从而选择更适合自己需求的云服务器。本文为大家简单分析一下我们应该选择哪一款。
|
机器学习/深度学习 人工智能 供应链
探索数据科学:从理论到实践的桥梁
本文深入探讨了数据科学在现代社会中的关键作用,并详细分析了其理论基础和实践应用。通过引用权威研究和统计数据,本文旨在揭示数据科学如何影响决策制定、商业策略和社会政策。同时,文章还讨论了数据科学面临的挑战和未来的发展方向,为读者提供了对这一领域全面而深入的理解。
182 31
编译原理----0型,1型,2型,3型文法
编译原理----0型,1型,2型,3型文法
407 1
|
运维 Kubernetes Cloud Native
云原生之旅:容器化与微服务架构的融合之道
在数字化转型的浪潮中,云原生技术以其高效、灵活的特性成为企业IT架构升级的重要选择。本文将探讨云原生的核心概念——容器化和微服务架构,并阐述它们如何相互融合,共同推动现代应用的开发与部署。通过深入浅出的解释,我们将揭示云原生如何助力企业快速适应市场变化,实现业务的持续创新和价值最大化。
|
安全 5G 网络安全
无线网络攻击
【8月更文挑战第16天】
285 1
|
安全 网络安全 数据安全/隐私保护
怎样才能有效提高网络安全意识?
【8月更文挑战第15天】
468 2
|
存储 运维 NoSQL
Redis 分区:构建高性能、高可用的大规模数据存储解决方案
Redis 分区:构建高性能、高可用的大规模数据存储解决方案
197 2