多态练习题理解1


/*
* 1. 若子类重写了父类的方法,就意味着子类中重写的方法完全覆盖了父类中的方
* 法,系统将不可能把父类中的方法转移到子类中,
* 编译看左边,运行看右边
*
* 2. 对于实例变量则不存在这样的现象,即使子类里定义了与父类中完全相同的实
* 例变量,这个实例变量依然不可能覆盖父类中的实例变量,
* 编译运行都看左边。
* */

public class FieldMethodTest {
    
    
    public static void main(String[] args) {
    
    
        Sub s = new Sub();
        System.out.println(s.count);
        s.display();
        Base b = s;
        System.out.println(b);
        System.out.println(s);
        System.out.println(b == s);
        System.out.println(b.count);
        b.display();
    }
}

class Base{
    
    
    int count = 10;
     public void display(){
    
    
         System.out.println(this.count);
     }
}

class Sub extends Base{
    
    
    int count = 20;

    @Override
    public void display() {
    
    
        System.out.println(this.count);
    }
}

运行结果:

20
20
com.du.object.Sub@1b6d3586
com.du.object.Sub@1b6d3586
true
10
20

猜你喜欢

转载自blog.csdn.net/AmorFati1996/article/details/108654440