给出如下程序: 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. 以上都不对