17.
private String privateField = "子类变量--private";
18.
19.
/* friendly */String friendlyField = "子类变量--friendly";
20.
21.
protected String protectedField = "子类变量--protected";
22.
23.
public String publicField = "子类变量--public";
24.
25.
// private
的变量无法直接访问,因此我们给他增加了一个访问方法
26.
public String getPrivateFieldValue() {
27.
return privateField;
28.
}
29.
30.
public static void main(String[] args) {
31.
// 为了便于查阅,我们统一按照 private、friendly、protected、public
的顺序
32.
//
输出下列三种情况中变量的值
33.
34.
// ParentClass 类型,ParentClass
对象
35.
ParentClass parentClass = new ParentClass();
36.
System.out.println("ParentClass parentClass = new ParentClass();");
37.
System.out.println(parentClass.getPrivateFieldValue());
38.
System.out.println(parentClass.friendlyField);
39.
System.out.println(parentClass.protectedField);
40.
System.out.println(parentClass.publicField);
41.
42.
System.out.println();
43.
44.
// ParentClass 类型,SubClass
对象
45.
ParentClass subClass = new SubClass();
46.
System.out.println("ParentClass subClass = new SubClass();");
47.
System.out.println(subClass.getPrivateFieldValue());
48.
System.out.println(subClass.friendlyField);
49.
System.out.println(subClass.protectedField);
50.
System.out.println(subClass.publicField);
51.
52.
System.out.println();
53.
54.
// SubClass 类型,SubClass
对象
55.
SubClass subClazz = new SubClass();
56.
System.out.println("SubClass subClazz = new SubClass();");
57.
System.out.println(subClazz.getPrivateFieldValue());
58.
System.out.println(subClazz.friendlyField);
59.
System.out.println(subClazz.protectedField);
60.
System.out.println(subClazz.publicField);
61.
}
62. }
这段代码的运行结果如下:
1.
ParentClass parentClass = new ParentClass();
2.
父类变量--private
3.
父类变量--friendly
4.
父类变量--protected