java访问权限关键字
2017-02-07 14:13
211 查看
本文转自:点击打开链接
在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词。Java的类成员访问权限修饰词有四类: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/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
在一个类的内部,其成员(包括成员变量和成员函数)能否被其他类所访问,取决于该成员的修饰词。Java的类成员访问权限修饰词有四类:private,无(默认情况下),protected和public。其权限控制如下表所示:
修饰词 | 本类 | 同一个包的类 | 继承类 | 其他类 |
private | √ | × | × | × |
无(默认) | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
而对于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/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利
相关文章推荐
- java复习1: 关键字访问权限问题
- Java 访问权限控制:你真的了解 protected 关键字吗?
- Java学习笔记之类的、static关键字、访问权限
- Java 访问权限控制:你真的了解 protected 关键字吗?
- public,private,protected访问权限在Java,C++中的解析
- 老紫竹JAVA基础培训(3),认识类的访问权限描述符.
- java访问权限修饰符(表格)
- java访问权限修饰词
- java访问权限修饰符public protected friendly private用法总结
- java 使用过滤器控制用户访问权限
- 谈谈JAVA中的protected访问权限
- JAVA访问权限(proteced与default)
- java 修饰符和访问权限介绍
- Java访问控制关键字
- Java访问权限
- 老紫竹JAVA基础培训(4)熟悉属性/变量的访问权限
- Java中访问权限修饰符public protected 缺省默认 private的用法总结
- c++与Java中继承关系对成员访问权限的影响之比较
- Java访问权限修饰词
- Java面试系列【public、private、protected区别】-访问权限,基础篇