写出以下标出行号的语句的执行顺序。 abstract class P{ public P() { System.out.print("parent"); //3 } abstract void m(); } class S extends P { public S() { System.out.print("child"); //2 } public static void main(String a[ ]) { P x= new S(); x.m(); } void m() { System.out.print("m()"); //1 } }
时间: 2024-02-14 15:06:05 浏览: 24
北邮高级语言程序设计(基于Java)第三次阶段作业.docx编程资料
以下是标出行号的语句的执行顺序:
1. System.out.print("m()"); // 在 S 类中的 m() 方法中调用,因为 x 是 S 的实例,调用的是 S 类中的 m() 方法
2. System.out.print("child"); // 在 S 类的构造函数中调用,因为 x 是 S 的实例,所以先调用 S 类的构造函数
3. System.out.print("parent"); // 在 P 类的构造函数中调用,因为 S 类继承自 P 类,所以在创建 S 的实例时,先调用 P 类的构造函数。
阅读全文