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 }
本文来自博客园,作者:Bytezero!,转载请注明原文链接:https://www.cnblogs.com/Bytezero/p/15323968.html