Java 如何在保留抽象类的同时修复此程序?
我对如何保持拖拉机类的抽象性感到困惑,同时仍然让我测试拖拉机类来执行其功能 java:9:error:Tractor是抽象的;无法实例化 拖拉机测试t=新拖拉机()Java 如何在保留抽象类的同时修复此程序?,java,oop,abstract-class,Java,Oop,Abstract Class,我对如何保持拖拉机类的抽象性感到困惑,同时仍然让我测试拖拉机类来执行其功能 java:9:error:Tractor是抽象的;无法实例化 拖拉机测试t=新拖拉机() 我想你的测试拖拉机课程应该扩展你的拖拉机课程。然后,您可以保持Tractor类的抽象性,同时仍然可以在方便的时候将TestTractor的实例视为Tractor对象。您还需要只调用TestTractor类的构造函数。记住,Google是你的朋友,有很多例子可以看。抽象类不能实例化。抽象类背后的思想是定义不同但相关的类可以具有的公共属
我想你的
测试拖拉机
课程应该扩展你的拖拉机
课程。然后,您可以保持Tractor
类的抽象性,同时仍然可以在方便的时候将TestTractor
的实例视为Tractor
对象。您还需要只调用TestTractor
类的构造函数。记住,Google是你的朋友,有很多例子可以看。抽象类不能实例化。抽象类背后的思想是定义不同但相关的类可以具有的公共属性和函数(具有可选的默认实现)的规范。您可以做的是创建一个从抽象类继承的子类。这样,您可以在保持抽象的同时运行其功能。您不需要向我们展示您的拖拉机类代码,以便我们能够以任何合理的方式提供帮助吗?您必须通过单独的类或内联实现拖拉机的抽象功能。我想您应该在不使用抽象类的情况下解决此问题,但这是不可能的一个完整的猜测,因为您没有发布任何代码。TestTractor
必须extends
抽象类Tractor
。然后将抽象类初始化为Tractor=newtesttractor()代码>。因为abtract类无法初始化。重要提示@LES,已修复。感谢您的帮助。
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());
}