给出以下代码,请问该程序的运行结果是什么? public abstract class AbstractClass{ public AbstractClass(){ System.out.println("this is an abstract class constructor!"); } public void aMethod(){ System.out.println("This is in the method in the abstract class"); } } 请选择一个正确答案:( ) A. 代码编译失败,因为抽象类不能有构造器。 B. 代码编译失败,因为抽象类的方法不能有返回值类型声明。 C. 代码编译失败,因为当类不存在抽象方法时,是不能定义为抽象类的。 D. 代码编译成功,但不能被实例化。可以被扩展为非抽象类,子类的构造器不可以调用抽象父类的构造器。