如果不提供任何访问修饰词,则意味着它是“包访问权限”。
2.1 包访问权限
包访问权限赋予包内的类相互访问彼此成员的权限。
应该说, 包访问权限为将类群聚在一起的行为提供了意义和理由,即建立包的目的不仅仅是为了分类和区分,更是为了是同一个包内的类可以拥有彼此的代码。
取得对某一成员访问权的途径:
1)该成员的访问修饰词为public。
2)通过不加访问权限修饰词并将目标类放在同一包内的方式。
3)继承。子类可以访问父类的public和protected修饰词的成员,但只有在父子类处于同一包内时,才可以访问包访问权限的成员。
4)Setter 和 Getter。
2.2 public:接口访问权限
public成员声明自己对每个类都是可用的。
注意·:当两个何不关联但都为声明package时,Java视为两个类都隶属于默认包之中,因此可以相互访问。
所以说,Java强制性的合理组织所有的执行单元。
2.3 private:你无法访问
private成员无法被任何非该成员的类的其他类访问。
由于包访问权限不能被客户端程序员访问,因此如下考虑为成员设置权限:
1)想要明确公开给客户端程序员使用的成员使用public关键词。
2)只想要自己操作而不希望其他人使用或影响其他操作时使用private关键词。
3)忘记添加任何访问权限控制时能够自动得到的权限。
实例代码:
Class Do {
private Do () {}
static Do makeDo() {
return new Do();
}
}
public class Use {
public static void main(String[] args) {
Do do = makeDo();
}
}
使用private的目的:
1)控制如何创建对象,并阻止别人直接使用构造器创建非法的对象。
2)唯一的构造器是private的,将阻碍其他类对此类的继承。
2.4 protected:继承访问权限
针对继承发明的权限修饰词。
只有同包内的类和子类才可以访问protected修饰的成员。
【java编程思想--学习笔记(二)】访问控制-Java访问权限修饰词
原文:http://blog.csdn.net/qq_22939165/article/details/43772663