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. 命令行环境下简单实用的工具——重定向&管道

    如果你对管道和重定向应用自如了,无需继续往下看.本文虽然以windows上cmd命令行环境演示,但同样适用于Unix/Linux等平台. 引言 关于管道和重定向,最初是在刘汝佳的<算法竞赛入门经 ...

  2. 14. Longest Common Prefix

    题目: Write a function to find the longest common prefix string amongst an array of strings. Subscribe ...

  3. 使用FP-Growth算法高效发现频繁项集【zz】

    FP树构造 FP Growth算法利用了巧妙的数据结构,大大降低了Aproir挖掘算法的代价,他不需要不断得生成候选项目队列和不断得扫描整个数据库进行比对.为了达到这样的效果,它采用了一种简洁的数据结 ...

  4. 前台json 的一些 处理 (转)

    JS解析json数据并将json字符串转化为数组的实现方法 转自(http://www.jb51.net/article/32795.htm) <!DOCTYPE HTML PUBLIC &qu ...

  5. 09 Request/Response

         Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象      request和response对象即然代表 ...

  6. 用 TWebBrowser 查找网页上的按钮,编辑框,

    Form1.wb1.Navigate(Aurl); <table> <tr> <td style="text-align:right;">< ...

  7. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  8. CodeForces462 A. Appleman and Easy Task

    A. Appleman and Easy Task time limit per test 1 second memory limit per test 256 megabytes input sta ...

  9. php 小函数

    1 变量函数 a.is_xxx函数用来判断变量类型 is_numeric  (PHP 4, PHP 5) — 检测变量是否为数字或数字字符串 is_int.is_integer.is_long,判断变 ...

  10. 浅析mongodb中group分组

    这篇文章主要介绍了浅析mongodb中group分组的实现方法及示例,非常的简单实用,有需要的小伙伴可以参考下. group做的聚合有些复杂.先选定分组所依据的键,此后MongoDB就会将集合依据选定 ...