小编jav*_*ous的帖子

downcasted对象指向哪里?

public class Animal{

    int n = 5;

    public static void main(String[] args) {

        Animal a = new Animal();
        Animal ah = new Horse();
        Horse h = new Horse(); 

        System.out.println(h.n); // prints 7
        System.out.println(ah.n); // prints 5
        h = (Horse) ah;
        System.out.println(h.n); // prints 7

    }
}

class Horse extends Animal{

    int n = 7;

}
Run Code Online (Sandbox Code Playgroud)

我的问题:

为什么h.n还要打印7 h = (Horse) ah?在赋值之后它应该指向同一个ah点,n字段指向5?

java downcast

2
推荐指数
1
解决办法
87
查看次数

标签 统计

downcast ×1

java ×1