如何在保持抽象类的同时修复此程序?

时间:2016-03-31 02:57:36

标签: java oop abstract-class

我很困惑如何让我的Tractor类保持抽象,同时仍让testTractor类执行其功能。

testTractor.java:9:错误:拖拉机是抽象的;无法实例化       拖拉机testT =新拖拉机();

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());
         }

2 个答案:

答案 0 :(得分:0)

无法实例化抽象类。抽象类背后的想法是定义不同但相关类可以具有的公共属性和函数(具有可选的默认实现)的规范。你可以做的是创建一个继承自抽象Tractor类的子类。这样你就可以在保持抽象的同时运行它的功能。

答案 1 :(得分:-1)

我猜你的TestTractor课程应该extend你的Tractor课程。然后,您可以保留Tractor类摘要,同时仍然可以将TestTractor的{​​{1}}实例视为方便的Tractor。您还希望只调用TestTractor类的构造函数。请记住,谷歌是你的朋友,有很多例子可以看。