它有效,但是只有您自己的孩子会尝试访问它 自己的 变量,而不是其他实例的变量(即使它属于同一继承树)。
请参阅以下示例代码以更好地理解它:
//in Parent.javapackage parentpackage;public class Parent { protected String parentVariable = "whatever";// define protected variable}// in Children.javapackage childenpackage;import parentpackage.Parent;class Children extends Parent { Children(Parent withParent ){ System.out.println( this.parentVariable );// works well. //System.out.print(withParent.parentVariable);// doesn't work } }如果我们尝试使用进行编译,
withParent.parentVariable我们将获得:
Children.java:8: parentVariable has protected access in parentpackage.Parent System.out.print(withParent.parentVariable);
它是可访问的,但只能访问其自己的变量。



