子类中成员变量与构造函数的加载顺序问题,不明白,哪位大神知道?
- class ExtendsDemo2
- {
- public static void main(String[] args)
- {
- new B();
- }
- }
- class A
- {
- int num=-100;
- A(){
- this.print();
- }
- void print(){
- System.out.println(num);
- System.out.println("...A...");
- }
- }
- class B extends A
- {
- int num=99;
- static int staticNum=111;
- int[] arr={11,22,33};
- String str="B类";
- void print(){
- System.out.println(num);//怎么会=0呢,已经定义并初始化了呀!
- System.out.println(str);//怎么=null呢?
- System.out.println(staticNum);
- //System.out.println(arr[0]);//为何会报错???变量不是已经定义了么?
- System.out.println("...B..");
- }
- }
复制代码 |
|