3.阅读下面3个类的代码,指出运行类Demo的输出结果并说明你的理由(没有理由不给分)。 --------程序清单------------------------------------------------------------------------------------------------------------ --------------------------------------------------------------------------------------------------------------------------------- --------程序清单------------------------------------------------------------------------------------------------------------ public class Demo { public static void main(String[] args) { A a = new B(); a.f1(); } } --------------------------------------------------------------------------------------------------------------------------------- 答:
时间: 2023-08-15 16:34:13 浏览: 145
根据程序清单,运行类Demo的输出结果是"f1 in B"。这是因为在main方法中创建了一个A类型的引用a,并将其初始化为一个B类型的实例,此时a指向的是一个B类型的对象。因为B类重写了A类的f1方法,所以当调用a的f1方法时,会调用B类中的f1方法,输出"f1 in B"。注意,这里虽然是通过A类型的引用a来调用f1方法,但因为它指向的是B类型的实例,所以会调用B类中的f1方法。
阅读全文