输出结果:null A
这道题考察了类初始化、多态的知识点。
解析:new B()进行类初始化,执行B类的空构造函数,由于有父类会先进性父类的初始化A,执行A的空构造函数,调用了call()方法,call方法是非静态方法,所有执行的是B的call方法,call方法中打印 “name”的值,此时正在初始化A,B并没有初始化,name赋值的是null;
父类引用指向子类,输出的是父类A的name
输出结果:null A
这道题考察了类初始化、多态的知识点。
解析:new B()进行类初始化,执行B类的空构造函数,由于有父类会先进性父类的初始化A,执行A的空构造函数,调用了call()方法,call方法是非静态方法,所有执行的是B的call方法,call方法中打印 “name”的值,此时正在初始化A,B并没有初始化,name赋值的是null;
父类引用指向子类,输出的是父类A的name