1 ) 仅对本类可见 private。
2 ) 对所有类可见 public:
3 ) 对本包和所有子类[含非直系]可见 protected。
4 ) 对本包可见—默认(很遗憾,) 不需要修饰符。
这里的访问控制是指的是实现操作的代码所在类与被操作的属性字段或者是方法之间的关系。
举例说明:
Demo 类:
public class Vehicle {
private String type; // 私有属性字段
protected String name; // 受保护属性字段
// 受保护方法
protected String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 受保护方法
protected String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
1. 对于private修饰符
Vehicle vehicle = new Vehicle();
vehicle.type = "长途运载客车"; // 这行代码只能出现在 Vehicle 类内部,Vehicle 的内部类也可以出现
2. 对于与 protected 修饰符
Vehicle vehicle = new Vehicle();
vehicle.name = "长途运载客车001"; // 这行代码只能出现在 Vehicle 、其子类【含非直系子类】和 在一个包的类的内部。
vehicle.getName(); // 这行代码只能出现在 Vehicle 、其子类【含非直系子类】和 在一个包的类的内部。
3. public 就不说了,任何位置都可以出现上述代码