📅  最后修改于: 2023-12-03 14:54:23.671000             🧑  作者: Mango
在Java中,有一关键字可以实现让一个类的成员可以在所有子类中访问,而不管子类在哪个包中。这个关键字就是 protected
。
当一个成员被声明为 protected
后,它可以被同一包中的任何其他类访问,以及其他包中的任何子类访问。但是,这个成员仍然不能被其他包中的非子类访问。
因此,通过将类的成员声明为 protected
,可以使它在所有子类中都可访问,而不管这些子类在哪个包中。
以下是一个示例代码片段,演示如何使用 protected
关键字:
package com.example;
public class Parent {
protected String name = "John";
public void getName() {
System.out.println("Name: " + name);
}
}
package com.example.child;
import com.example.Parent;
public class Child extends Parent {
public void printName() {
System.out.println("The name is: " + name);
}
}
package com.example;
import com.example.child.Child;
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.printName(); // Output: The name is: John
}
}
在上面的代码中,Parent
类中的 name
成员被声明为 protected
,因此在 Child
类中可以直接访问。在 Main
类中创建一个 Child
类的对象,并调用 printName
方法,该方法打印出 Parent
类中的 name
成员的值。由于 printName
方法在 Child
类中,因此可以直接访问 Parent
类中的 protected
成员。
总之,通过将类的成员声明为 protected
,可以实现在所有子类中访问该成员,而不管子类在哪个包中。