public
public(公开)表示任何人都可以访问和使用该元素;
public class Test {
public static void main(String[] args) {
Person p=new Person();
System.out.println(p.name);//输出小明
}
}
class Person{
public String name="小明";
}
这时候我们可以通过Person对象p直接访问name;
private
private(私有)除了类本身和类内部的方法,外界无法直接访问该元素;
public class Test {
public static void main(String[] args) {
Person p=new Person();
System.out.println(p.name);//这时候就无法直接访问name
}
}
class Person{
private String name="小明";
}
protected
protected(受保护)类似于 private,区别是子类可以访问 protected 的成员,但不能访问 private 成员。
public class Test {
public static void main(String[] args) {
Student student = new Student();
System.out.println(student.name);//无法访问name
System.out.println(student.age);//但可以访问age
}
}
class Person{
private String name="小明";
protected String age="10";
}
class Student extends Person{
}
default
default(默认)如果你不使用前面的三者,默认就是 default 访问权限。default 被称为包访问,因为该权限下的资源可以被同一包(库组件)中其他类的成员访问。
总结
放一个看了很久却不一定记住的表: