java子类给父类传参
时间: 2023-10-17 16:24:57 浏览: 294
子类可以通过super关键字调用父类的构造方法,并将参数传递给父类的构造方法。例如:
```java
public class ParentClass {
private int age;
public ParentClass(int age) {
this.age = age;
}
}
public class ChildClass extends ParentClass {
public ChildClass(int age) {
super(age);
}
}
```
在上面的例子中,子类ChildClass通过super关键字调用父类ParentClass的构造方法,并将参数age传递给父类构造方法,从而初始化父类的age属性。
相关问题
java子类构造方法如何传参给父类
可以使用super关键字来调用父类的构造方法,并传递参数。例如:
public class ChildClass extends ParentClass {
public ChildClass(int arg1, String arg2) {
super(arg1);
// 子类自己的构造方法代码
}
}
在子类的构造方法中,使用super(arg1)调用父类的构造方法,并传递参数arg1。这样就可以在子类中使用父类的构造方法,并且传递参数。
Java:已知交通工具类Transport,代码如下图,请编写两个子类:Plane类和Car类。具体要求: 子类中必须要有有参构造器,且构造器要调用父类构造器实现传参。 子类分别从写父类的run方法,方法体要输出内容示例:“福特轿车正以100km/h/的速度在公路上行驶”。 定义测试类,利用多态创建父类引用类型指向子类具体对象(某一交通工具),然后调用方法run。
下面是代码实现:
Transport类:
```java
public class Transport {
protected String name; // 名称
protected double speed; // 速度
public Transport(String name, double speed) {
this.name = name;
this.speed = speed;
}
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度行驶");
}
}
```
Plane类:
```java
public class Plane extends Transport {
public Plane(String name, double speed) {
super(name, speed);
}
@Override
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度在天空中飞行");
}
}
```
Car类:
```java
public class Car extends Transport {
public Car(String name, double speed) {
super(name, speed);
}
@Override
public void run() {
System.out.println(name + "正以" + speed + "km/h的速度在公路上行驶");
}
}
```
Test类:
```java
public class Test {
public static void main(String[] args) {
Transport t1 = new Plane("波音747", 900);
t1.run();
Transport t2 = new Car("福特轿车", 100);
t2.run();
}
}
```
输出结果:
```
波音747正以900.0km/h的速度在天空中飞行
福特轿车正以100.0km/h的速度在公路上行驶
```
阅读全文