读下面程序,写出程序运行结果。 class Father { int num1=0; public Father(){ System.out.println("num1:"+num1);} public Father(int num1){ this.num1=num1; System.out.println("num1:"+num1); } } class Son extends Father{ int num2=10; public Son(){System.out.println("num2:"+num2);} public Son(int i,int j){ super(i); num2=j; System.out.println( "num1:"+num1+",num2:"+num2); } } public class Demo{ public static void main(String []args){ Father father=new Father(); Son son=new Son(); Son son1=new Son(20,30); } }
时间: 2024-03-26 13:35:44 浏览: 111
程序运行结果如下:
```
num1:0
num1:0
num1:20
num2:10
num1:20,num2:30
```
解析:
1. 首先执行 `Father` 类的无参构造方法,输出 `num1:0`。
2. 接着执行 `Son` 类的无参构造方法,先隐式调用 `super()` 方法调用 `Father` 类的无参构造方法,输出 `num1:0`,然后输出 `num2:10`。
3. 最后执行 `Son` 类的有参构造方法,显式调用 `super(i)` 方法调用 `Father` 类的有参构造方法,输出 `num1:20`,然后输出 `num1:20,num2:30`。
阅读全文