java中的访问修饰符

Posted lulipro - 代码钢琴家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的访问修饰符相关的知识,希望对你有一定的参考价值。

 Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符。其中package代表缺省的访问权限,具体到代码中就是不写任何修饰符的默认情况。为了好表示为暂且命名为package。

 
public 
protected
private
 
package
 
 
 
 
 

顶层代码资源的访问控制

对于文件级别(top-level) 的  class,interface,enum来说,有2种访问修饰符:public 和 默认的 package。
 
public:可以在任何其他地方使用。
 
package:只能在同一个包中使用的 class,interface或 enum。其他包不能使用。
 
 
java的源代码文件规定:一个.java文件只能有一个修饰为public的 class ,interface,或者enum,并且这个文件的名称必须和这个public修饰的同名。一般习惯是一个public 修饰的class, interface, enum 对应单独放在1个.java文件中。
 
 
 

 

类成员的访问修饰符

 
public:成员可以被任何其他代码访问使用。

 

protected:本类中直接访问,同一个包的其他代码可以直接访问,任何子类也可以直接访问。
 
 
package:对于同一个包中的其他代码,可以直接访,相当于public,而不是同一个包的其他代码,则相当于private ,隐藏。
 
 
private:只能在本类中访问使用。
 
 
 
 
权限修饰符privatepackageprotectedpublic
同一个类 √   √ √ 
同一个包   √   √
不同包的子类     √ 
其他      
 
 
 
 
 
 

以上是关于java中的访问修饰符的主要内容,如果未能解决你的问题,请参考以下文章

Java语言中的-----访问修饰符

Java中的修饰符

java 访问修饰符

在Java和c#中如果不写访问修饰符,类和类成员默认的是啥访问修饰符?

java中的访问修饰符

Java中的访问修饰符