Java访问控制权限
Java访问控制权限
CAMELLIA!!! note 目录
#Java访问控制权限
一、对Java中访问控制权限修饰符的对比表格
访问权限 | 同一类 | 同一包 | 子类 | 不同包的非子类 |
---|---|---|---|---|
public | ✓ | ✓ | ✓ | ✓ |
protected | ✓ | ✓ | ✓ | ✗ |
default | ✓ | ✓ | ✗ | ✗ |
private | ✓ | ✗ | ✗ | ✗ |
二、Java访问控制符
在Java中,访问控制权限是通过关键字 public
, protected
, default
(也称为 package-private),以及 private
来实现的。这些关键字用于控制类、变量、方法和构造函数的访问级别。
public: 公共访问级别,被声明为
public
的类、方法、变量可以被任何其他类访问。1
2
3
4
5
6public class MyClass {
public int myVariable;
public void myMethod() {
// Some code
}
}protected: 受保护的访问级别,被声明为
protected
的成员可以被同一包内的其他类访问,以及继承该类的子类访问。1
2
3
4
5
6public class MyClass {
protected int myVariable;
protected void myMethod() {
// Some code
}
}default (package-private): 默认的访问级别,没有明确声明访问修饰符的类、方法、变量拥有默认的访问级别,它们只能被同一包内的其他类访问。
1
2
3
4
5
6class MyClass {
int myVariable;
void myMethod() {
// Some code
}
}private: 私有访问级别,被声明为
private
的成员只能在声明它们的类内部访问。1
2
3
4
5
6public class MyClass {
private int myVariable;
private void myMethod() {
// Some code
}
}
三、修饰对象
类级别的修饰符:
public
: 允许类被任何其他类访问。default
(没有修饰符): 允许类在同一包内被访问,但在不同包内不能被访问。
1
2public class MyClass { } // 公共类
class MyClass { } // 默认访问级别的类,即包访问权限局部变量:局部变量是在方法、构造函数或块中声明的变量。它们不能使用访问控制权限修饰符进行修饰,因为它们的作用范围限定在声明它们的块内部,超出这个范围就无法访问。
public
,protected
,default
,private
这四种访问控制权限修饰符可以用来修饰实例方法、静态方法、静态变量和实例变量。