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:只能在本类中访问使用。
 
 
 
 
权限修饰符 private package protected public
同一个类 √   √ √ 
同一个包   √   √
不同包的子类     √ 
其他      
 
 
 
父类的private成员不会被子类继承,子类不能访问。但是子类对象的确包含父类的私有成员。
父类的 package成员 继承为子类的package成员。就好像他们直接定义在子类中一样。
父类的 protected 成员继承为子类的protected 成员。就好像他们直接定义在子类中一样。
父类的 public 成员继承为子类的public 成员,就好像他们直接定义在子类中一样。
 
 
 
 
 

java中的访问修饰符的更多相关文章

  1. 分享知识-快乐自己:java 中的访问修饰符

    1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制 ...

  2. JAVA中的访问修饰符和包

    一.JAVA访问修饰符 访问修饰符,用来控制类中成员的可见性 有四个访问修饰符,分别是:default,private,public,protected 1.default(默认):默认权限,不用写的 ...

  3. java中的访问修饰符详解

    主要讲述一下java中protected的修饰控制范围. 在叙述protected修饰符使用之前,先来说一下java,可以发现,开发java程序是一个时时刻刻都在编写类.开发类.定义类的过程.类里面可 ...

  4. java 中的访问修饰符

    一. public:所有类都可以访问 protected:所有子类和同包下的类都可以访问 缺省:同包类都可以访问 private:类本身才可以访问 注意点:protected修饰类属性时,例如 pac ...

  5. java中的访问修饰符 (2013-10-11-163 写的日志迁移

    访问级别                 修饰符                    同类                    同包              子类                 ...

  6. java中的访问修饰符2

    综上所述:protected强调的是子类,deafult强调的是本包,private强调的是本类,public强调的是开放性.

  7. java中4种修饰符访问权限的区别及详解全过程

    java中4种修饰符访问权限的区别及详解全过程 http://jingyan.baidu.com/article/fedf0737700b3335ac8977ca.html java中4中修饰符分别为 ...

  8. 详解Java中的访问控制修饰符(public, protected, default, private)

    Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获 ...

  9. Java学习笔记十九:Java中的访问控制修饰符

    Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class Hello ...

随机推荐

  1. ACM/ICPC 之 最小割转网络流(POJ3469)

    重点:构图 //最小割转网络流 //邻接表+Dinic //Time:5797Ms Memory:6192K #include<iostream> #include<cstring& ...

  2. [转]Android样式的开发:shape篇

    转载自Keegan小钢原文链接:http://keeganlee.me/post/android/20150830 Android样式的开发:shape篇Android样式的开发:selector篇A ...

  3. Ehlib安装方法有窍门

    Ehlib安装方法有窍门,如果不知道该安装方法,很难成功安装,Delphi 7(D5.D6也如此)中的安装方法       1.把EhLib中的common和DataService文件拷贝到Delph ...

  4. 不会JavaScript能混前端么?能拿到高薪么?

    不会JavaScript能混前端么?能拿到高薪么? 答案是:很难! 为什么这么说呢,理由很简单 1)有很多企业不注重前端开发,当然也就不会给你高薪了,这样的企业以小企业居多. 他们一般对前端开发的认识 ...

  5. 利用office2010 word2010生成目录

    详细内容可以从以下链接下载: http://www.360disk.com/file-37040.html 从前一直用word的目录功能,觉得很方便.第一:可以在目录的首页通过Ctrl+鼠标单击左键可 ...

  6. js通过location.search来获取页面传来的参数

    这篇文章主要介绍了通过window.location.search来获取页面传来的参数,经测试是OK的 ? 1 2 3 4 5 function GetQueryString(name) { var ...

  7. Codeforces Round #364 (Div. 2)

    这场是午夜场,发现学长们都睡了,改主意不打了,第二天起来打的virtual contest. A题 http://codeforces.com/problemset/problem/701/A 巨水无 ...

  8. linux系统meminfo详解(待补充)

    ========================================================================================== MemTotal: ...

  9. CAS代理配置

    CAS Server:www.sinosoft.com 代理服务:palace.sinosoft.com 被代理服务:gguser.sinosoft.com 1. 建立key,命令如下: keytoo ...

  10. Leetcode Reverse Nodes in k-Group

    Given a linked list, reverse the nodes of a linked list k at a time and return its modified list. If ...