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,如需转载请自行联系原作者




相关文章
|
5月前
|
存储 安全 Java
Java中常见的访问/非访问修饰符
Java中常见的访问/非访问修饰符
43 0
|
9月前
|
设计模式 Java C语言
Java类及类的成员
Java类及类的成员
54 0
|
10月前
|
IDE Java 开发工具
一文搞懂Java的 构造方法 和 访问权限
一文搞懂Java的 构造方法 和 访问权限
133 0
|
12月前
|
IDE Java 开发工具
【Java|基础篇】包和访问权限修饰符
包和访问权限修饰符是Java中两个常用的概念,它们都与访问控制有关.
|
Java
简述java中继承的概念,单继承,访问修饰符的访问权限
简述java中继承的概念,单继承,访问修饰符的访问权限
78 0
|
Java
Java基础:对象与类的定义与使用
Java基础:对象与类的定义与使用
66 0
Java基础:对象与类的定义与使用
|
Java 数据安全/隐私保护
Java基础访问权限控制符
Java基础访问权限控制符
|
Java
Java的四种访问权限修饰符
Java的四种访问权限修饰符
61 0
|
Java Android开发
java41-成员实例的定义和访问续
java41-成员实例的定义和访问续
86 0
java41-成员实例的定义和访问续
java40-成员实例的定义和访问
java40-成员实例的定义和访问
69 0
java40-成员实例的定义和访问