下列程序运行结果是( )。interface InterfaceA{String s="good ";void f();}abstract class ClassA{abstract void g();}class ClassB extends ClassA implements InterfaceA{void g(){System.out.print(s);}public void f(){System.out.print(" "+s);}}public class E {public static void main(String[] args) {ClassA a=new ClassB();InterfaceA b=new ClassB();a.g();b.f();}}
A. 编译正确,但无运行结果
B. 编译错误:InterfaceA b=new ClassB();
C. good good
D. 以上都不对
B是父类,C是子类。当父类引用指向子类对象 B b = new C() 时,下列说法那个是错误的()?
A. 若子类定义了父类同名的某方法,则父类引用调用子类重新定义的新方法
B. 若子类定义了父类同名的属性,父类引用调用子类的属性
C. 若子类未覆盖某方法,则父类引用调用父类本身的旧方法
D. 若子类未覆盖某属性,则父类引用调用父类本身的旧属性