在Java中,protected 是一种访问修饰符,用于控制类成员(如变量、方法和内部类)的可访问性。使用 protected 修饰符可以使得被修饰的成员在同一个包内的其他类以及不同包中的子类中可见和可访问。
具体来说,protected 的访问权限如下:
protected 成员。protected 成员,即使这些子类不是父类的直接子类。以下是一些示例来说明 protected 的用法:
package com.example.package1;
public class MyClass {
protected int protectedVar = 10;
}
class AnotherClassInSamePackage {
void accessProtectedVar() {
MyClass myClass = new MyClass();
System.out.println(myClass.protectedVar); // 可以访问
}
}
package com.example.package2;
import com.example.package1.MyClass;
public class SubClass extends MyClass {
void accessProtectedVar() {
System.out.println(protectedVar); // 可以访问
}
}
package com.example.package2;
import com.example.package1.MyClass;
public class NonSubClass {
void accessProtectedVar(MyClass myClass) {
// System.out.println(myClass.protectedVar); // 编译错误,无法访问
}
}
protected 成员在同一个包内的所有类中可见。protected 成员在不同包中的子类中可见。protected 成员在不同包中的非子类中不可见。使用 protected 修饰符可以在一定程度上实现封装和继承的平衡,既保证了类的内部数据不被外部随意访问,又允许子类访问和扩展父类的成员。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。