2016-11-30 161 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();在所有用戶定義的構造函數中,但顯而易見的是它沒有寫成。