2016-03-31 34 views
-1

我很困惑如何讓我的拖拉機類抽象,同時讓我testTractor類來執行其功能。如何在保留抽象類的同時修復此程序?

testTractor.java:9:錯誤:拖拉機是抽象的;不能實例化 拖拉機testT = new Tractor();

public class testTractor 
     { 
     public static void main (String[] args) 
     {  
      Tractor testT = new Tractor(); 
      testT.setName("TractorTest"); 
      testT.setVehicleID(5450); 
      testT.setRentalDays(25); 
      testT.setRentalRate(40); 
      System.out.println("Tractor Name: " + testT.getName()); 
      System.out.println("Vehicle ID: " + testT.getVehicleID()); 
      System.out.println("Rental Days: " + testT.getRentalDays()); 
      System.out.println("Rental Rate: " + testT.getRentalRate()); 
     } 
+0

您是否需要向我們展示您的拖拉機班級代碼,以便我們能夠以任何合理的方式提供幫助? –

+0

你必須通過一個單獨的類或內嵌 – MadProgrammer

+0

實現'Tractor'的抽象功能我認爲你應該在沒有抽象類的情況下處理這個問題,但這是一個完全的猜測,因爲你沒有發佈任何代碼。 – Bautista

回答

-1

我猜你TestTractor類應該extendTractor類。然後,您可以保留Tractor類的抽象,同時仍然可以在方便時將TestTractor的實例當作Tractor對象。您還只需要調用TestTractor類的構造函數。記住谷歌是你的朋友,並且有很多例子可以看。

+1

'TestTractor'必須'擴展'抽象類'拖拉機'。然後將抽象類初始化爲'Tractor tractor = new TestTractor();'。因爲abtract類無法初始化。 – LES

+0

重要注意事項@LES,修正。 – LinuxDisciple

+0

謝謝你,先生。 – MajorJavaUser

0

抽象類不能被實例化。抽象類背後的想法是定義不同但相關類可以具有的公共屬性和函數(使用可選的默認實現)的規範。你可以做的是創建一個繼承自抽象Tractor類的子類。這樣你可以在保持抽象的同時運行它的功能。

+0

謝謝你的幫助。 – MajorJavaUser

相關問題