Java中4个访问控制修饰符
- 仅对本类可见——
private - 对外部完全可见——
public - 对本包和所有子类可见——
protected - 对本包可见——默认,不需要修饰符
private
常用在修饰实例字段,比如Student类中的姓名、年龄、性别等字段
public class Student {
private String name;
private int age;
private String gender;
...
}
public
我们创建的每一个类都是使用public修饰的,类中的大部分方法也用public修饰,这样其他包的类才能访问这些方法,比如Student实例中的get、set方法,我们不能直接访问Student中的字段,但是可以通过公开的方法对字段进行操作
public class Student {
private String name;
private int age;
private String gender;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
...
}
protected
我理解为介于private和public之间的访问权限,没有private那么严格,也没有public这么开放,只允许同一个包中的类和所有子类访问
比如我定义一个类,里面有一个方法使用protected修饰,这个方法只能被同一个包中的类和所有子类访问
public class Demo2 {
protected void abc() {
System.out.println("woshihsb");
}
}
这个是同一个包中的类,这样就可以调用
public class Demo1 {
public static void main(String[] args) {
Demo2 demo2 = new Demo2();
demo2.abc();
}
}
这是不在同一个包中的子类,只要继承了Demo2就可以访问
import upJava.Demo2;
public class Demo4 extends Demo2{
public void abc() {
super.abc(); //引用父类方法
}
}
默认
就是不加任何修饰符
public class Test {
void abc() {
System.out.println("woshishabi");
}
String name;
}
本文详细介绍了Java中的4种访问控制修饰符:private、public、protected和默认修饰符。private用于限制字段只在本类内可见,public使得类和方法可以被任何类访问,protected提供了一种介于private和public之间的保护,允许同一包内的类和所有子类访问,而默认修饰符则限制访问权限在同包内。通过示例代码展示了这四种修饰符的使用场景和效果。
785

被折叠的 条评论
为什么被折叠?



