Java四种权限修饰符知识点详解
在Java语言中,有四种权限修饰符,分别为public、protected、default和private。这四种修饰符分别控制类、变量、方法等成员的访问权限。以下是对Java四种权限修饰符的详细解释。
1. public
public是最开放的权限修饰符。如果一个类、方法或者变量被修饰为public,那么它就可以被任何其他类所访问,无论这个类是否在同一个包中。以下是一个public修饰符的示例代码:
public class MyClass {
public int myPublicVariable;
public void myPublicMethod() {
System.out.println("This is a public method.");
}
}
2. protected
如果一个类、方法或者变量被修饰为protected,那么它仅可以被它所在类的子类所访问。如果这个类不是其他类的子类,那么其他类依然无法访问这个类、方法或者变量。以下是一个protected修饰符的示例代码:
public class MyClass {
protected int myProtectedVariable;
protected void myProtectedMethod() {
System.out.println("This is a protected method.");
}
}
public class MySubClass extends MyClass {
public void mySubClassMethod() {
myProtectedVariable = 1;
myProtectedMethod();
}
}
在上述示例中,MySubClass是MyClass的子类,因此它可以访问MyClass中被protected修饰的变量和方法。其他类如果不是MyClass的子类,无法访问myProtectedVariable和myProtectedMethod。
3. default
如果一个类、方法或者变量没有被修饰符所修饰,那么它使用的就是默认权限修饰符(也称为包访问权限)。如果一个类、方法或者变量使用了默认权限修饰符,那么它只能被同一个包中的其他类所访问。以下是一个默认访问权限的示例代码:
class MyClass {
int myDefaultVariable;
void myDefaultMethod() {
System.out.println("This is a default method.");
}
}
public class MyOtherClass {
public void myOtherMethod() {
MyClass myClass = new MyClass();
myClass.myDefaultVariable = 1;
myClass.myDefaultMethod();
}
}
在上述示例中,MyClass使用了默认权限修饰符,因此它只能被同一个包中的其他类所访问。MyOtherClass和MyClass位于同一个包中,因此MyOtherClass可以访问MyClass中被默认修饰的变量和方法。
4. private
private是最严格的权限修饰符。如果一个类、方法或者变量被修饰为private,那么它仅可以被它所在类的其他方法所访问,其他类无法访问这个类、方法或者变量。以下是一个private修饰符的示例代码:
public class MyClass {
private int myPrivateVariable;
private void myPrivateMethod() {
System.out.println("This is a private method.");
}
public void myPublicMethod() {
myPrivateVariable = 1;
myPrivateMethod();
}
}
在上述示例中,myPrivateVariable和myPrivateMethod被private修饰符所修饰,因此它们仅可以被MyClass中的其他方法所访问。myPublicMethod是一个public方法,可以被其他类所访问,在myPublicMethod中调用了myPrivateVariable和myPrivateMethod。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java四种权限修饰符知识点详解 - Python技术站