任何人都可以解释以下Java代码的输出?

时间:2015-11-21 11:16:09

标签: java polymorphism

class A{
    int i = 1;
    A(){play();}
    void play(){System.out.print(i);}
}
class B extends A{ 
    int i = 2;
    B(){play();}
    void play(){System.out.print(i);}
} 
public class Test extends B{
    public static void main(String args[]){
        new Test();
    }
}

输出: 02

任何人都可以解释上述Java代码的输出吗?Thx。

1 个答案:

答案 0 :(得分:0)

因为Test类不是构造函数,而是从B类扩展而来。因此,它将调用B构造函数并输出为2.