当前位置:
public,private,protected,default的区别
机器助手 |
394人浏览
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 被称为包访问,因为该权限下的资源可以被同一包(库组件)中其他类的成员访问。
总结
放一个看了很久却不一定记住的表:
| 修饰符 | 类内部 | 同包 | 子类 | 任何地方 |
|---|---|---|---|---|
| public | Yes | Yes | Yes | Yes |
| protected | Yes | Yes | Yes | |
| 包访问权限 | Yes | Yes | ||
| private | Yes |
排名:
经验值
0
文章
0
评论
0
勋章
0
动态
0
粉丝
0
关注
获得勋章:
