2016-11-30 131 views
1
package vehicleapp; 

public class Car extends Vehicle { 
    int seatCap; 

    public Car(String name, int modelNo, int seatCap) { 
     this.seatCap = seatCap; 
     super(name, modelNo); 
    } 
} 

这段代码有什么问题?请告诉我!构造函数给出2个错误

+0

如果问题解决了,请给出一个答案。 – nullpointer

回答

3

super(name, modelNo);必须在构造函数体的第一条语句(只要您有它明确),因为超类构造函数必须先于子类构造函数体执行:

public Car(String name, int modelNo, int seatCap) { 
    super(name, modelNo); 
    this.seatCap = seatCap; 
} 
0

在你Vehicleapp

您的车辆类必须是这样的

public class Vehicle{ 
private String name,modelNo; 
    Vehicle(String name ,String modelNo) 
    { 
      this.name=name; 
      this.modelNo=modelNo; 
    } 
} 
0

Super();关键字应该在顶层,因为您在子类中创建构造函数,构造函数首先查找superClass构造函数,直到Object SuperClass。

Hirearchy:

孩子Contrctor->(查找父类的构造) - >父类 - >(如果它也继承任何超它应该有父类的父类的构造,即超();) - > .. 。 - > Object SuperClass。

通常我们有关键字super();在所有用户定义的构造函数中,但显而易见的是它没有写成。