java AccessControl keyword
2009-12-04 18:00 iBlog 阅读(355) 评论(0) 编辑 收藏 举报 访问控制符 | 同一个类内部 | 同一个包内部 | 不同包中的子类 | 不同包中的非子类 |
public | Yes | Yes | Yes | Yes |
protected | Yes | Yes | Yes | No |
无访问控制符 | Yes | Yes | No | No |
private | Yes | No | No | No |
说明:在该表中,Yes代表具备对应的权限,No代表不具备对应的权限。
在4种访问控制中,public一般称作公共权限,其限制最小,也可以说没有限制,使用public修饰的内容可以在其它所有位置访问,只要能访问到对应的类,就可以访问到类内部public修饰的内容,一般在项目中开放的方法和构造方法使用public修饰,开放给项目使用的类也使用public修饰。protected一般称作继承权限,使用protected修 饰的内容可以被同一个包中的类访问也可以在不同包内部的子类中访问,一般用于修饰只开放给子类的属性、方法和构造方法。无访问控制符一般称作包权限,无访 问控制符修饰的内容可以被同一个包中的类访问,一般用于修饰项目中一个包内部的功能类,这些类的功能只是辅助其它的类实现,而为包外部的类提供功能。private一般称作私有权限,其限制最大,类似于文件中的绝密,使用private修饰的内容只能在当前类中访问,而不能被类外部的任何内容访问,一般修饰不开放给外部使用的内容,修改private的内容一般对外部的实现没有影响。
PS:(个人叫法便于记忆)
public 无限制 访问控制符 (无任何限制)
protected 继承 访问控制符 (具有继承关系的类之间才能访问)
***** 包 访问控制符 (在同一个包中的类才能访问)
private 类 访问控制符 (在同一个类中才能访问)
如果您要访问一些不能直接访问的属性时,最好通过getter/setter器来访问。
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名时邵猛(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。如果您觉得文章很有用,欢迎捐赠!【通过】。