在不同类中使用 Java 函数时,遵循以下访问权限规则:默认访问权限仅限于同一包内的类。包可见性与默认访问权限相同,但适用于同一模块中的所有类。受保护的访问权限仅限于子类和同一包中的类。公共访问权限在所有类中可见。
Java 函数的访问权限修饰符之在不同类中使用的规则
Java 中的访问权限修饰符用于控制类、方法和字段的可见性范围。在不同类中使用函数时,需要遵守以下规则:
1. 默认访问权限(无修饰符)
2. 包可见性(default)
3. protected 访问权限
4. public 访问权限
实战案例
考虑以下代码:
// MySuperClass.java public class MySuperClass { protected void protectedMethod() { // ... } public void publicMethod() { // ... } }
// MySubClass.java public class MySubClass extends MySuperClass { // 可访问父类的 protected 和 public 方法 void accessProtected() { protectedMethod(); } void accessPublic() { publicMethod(); } }
// MyOtherClass.java public class MyOtherClass { // 无法访问父类的 protected 或 public 方法 void accessProtected() { // 编译错误: protectedMethod() 具有 protected 访问权限,在此包外不可访问 } void accessPublic() { // 编译错误: publicMethod() 具有 public 访问权限,但在不同的模块中不可访问 } }
在这个示例中,MyOtherClass
无法访问 MySuperClass
中的 protectedMethod()
和 publicMethod()
,因为它们不是在同一包中或不是 MySuperClass
的子类。
注意事项
以上是Java 函数的访问权限修饰符之在不同类中使用的规则的详细内容。更多信息请关注PHP中文网其他相关文章!