用途:用于控制不同情况下不同代码的访问权限
属性/方法访问控制
四种访问权限
- 【重要】
private私有访问权限- 使用关键字 private 进行权限控制
- 使用 private 声明的属性和方法只能再本类中被访问
private int id; private String name; private PrivateDemo(int id, String name) { this.id = id; this.name = name; } - 【重要】
public公共访问权限- 使用关键字 public 进行权限控制
- public 权限可以被所有的类访问
default包访问权限- 无关键字
- 声明属性或方法时,如果没有使用任何的权限声明,则使用 default 权限
- 默认权限可以本包中的其他类访问,但无法被其他包中的类访问
protected继承访问权限- 使用关键字 protected 进行权限控制
- protected 权限可以被本包中的其他类和其他包中的子类访问
public class AccessBestPracticeDemo {
// 一般属性设为private
private int id;
private String name;
// 用 getter and setter 来获取和修改属性
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 构造器public
public AccessBestPracticeDemo(int id, String name) {
this.id = id;
this.name = name;
}
// 想给别人用就用 public
public void doSomething() {
doAnotherThing();
}
// 不想暴露给别人用的方法private
private void doAnotherThing() {
System.out.println("do another thing");
}
}