把下面代码补全class Father { int a; public Father(int a) { this.a=a; } public void print() { System.out.println(a); } } class Child extends Father { int a; public Child(int a) { super(a); // 将形参a的数值赋给父类成员变量a this.a=super.a*10; // 将父类成员变量a的值*10赋给本类的成员变量a } public void print() { System.out.println( ); // 输出父类成员变量a的值 System.out.println( ); // 输出子类成员变量a的值 } } public class Main { public static void main(String[] args) { Child child=new Child(10); child.print(); } }
时间: 2024-03-05 19:52:25 浏览: 63
好的,以下是补全后的代码:
```
class Father {
int a;
public Father(int a) {
this.a = a;
}
public void print() {
System.out.println(a);
}
}
class Child extends Father {
int a;
public Child(int a) {
super(a); // 将形参a的数值赋给父类成员变量a
this.a = super.a * 10; // 将父类成员变量a的值*10赋给本类的成员变量a
}
public void print() {
System.out.println(super.a); // 输出父类成员变量a的值
System.out.println(a); // 输出子类成员变量a的值
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child(10);
child.print();
}
}
```
代码补全后,输出结果为:
```
10
100
```
因为在子类Child的构造方法中,首先调用了父类Father的构造方法`super(a)`来赋值给父类成员变量a,然后将父类成员变量a的值乘以10并赋值给本类的成员变量a。在子类Child的print方法中,使用`super.a`调用父类的成员变量a进行输出,使用`a`调用本类的成员变量a进行输出。所以输出结果为10和100。
阅读全文