Java 继承成员变量和继承方法的区别

 1 package com.bytezreo.duotai3;
 2 
 3 /**
 4  * 
 5  * @Description    继承成员变量和继承方法的区别
 6  * @author  Bytezero·zhenglei!      Email:420498246@qq.com
 7  * @version
 8  * @date 2021年9月23日上午10:25:36
 9  * @
10  *   1.若子类重写了父类的方法,就意味着子类里定义的方法彻底覆盖了父类的同名方法,
11  * 系统将不可能把父类里的方法转移到了子类中.编译看左边,运行看右边.
12  * 
13  * 
14  *   2.对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,
15  *   这个实例变量依然不可能覆盖父类中定义的实例变量,编译运行都看左边
16  * 
17  *
18  */
19 
20 class Base
21 {
22     int count = 10;
23     public void display()
24     {
25         System.out.println(this.count);
26     }
27 }
28 
29 class Sub extends Base
30 {
31     int count = 20;
32     public void display()
33     {
34         System.out.println(this.count);
35     }
36 }
37 
38 public class FieldMethodTest 
39 {
40     public static void main(String[] args) 
41     {
42         Sub s = new Sub();
43         System.out.println(s.count);    // 20
44         
45         s.display();                    //20
46         
47         Base b = s;  //多态性   编译看左边,执行看右边
48         
49         // ==  对于引用数据类型来讲,比较的是两个引用数据类型变脸的地址值是否相同
50         System.out.println( b == s);//true
51         
52         System.out.println(b.count);  //10 虽然是多态,但是不适用于属性
53         
54         b.display();    //20
55     }
56 }

 

posted on 2021-09-23 14:13  Bytezero!  阅读(109)  评论(0)    收藏  举报