background image

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