当我尝试初始化新对象时收到此错误消息。
Cannot instantiate the type Car
我的代码
Main.java
public class Main {
public static void main(String args[]){
Car car = new Car(4,4,COUNTRY.MALAYSIA, Locale.ENGLISH, "150.00"); //error here
}
}
Car.java
public abstract class Car implements Automobile {
public int wheel;
public int door;
public COUNTRY country;
public Locale locale;
public String price;
public Car(int w, int d, COUNTRY c, Locale l, String p){
this.wheel = w;
this.door = d;
this.country = c;
this.locale = l;
this.price = p;
}
}
答案 0 :(得分:5)
Car是一个Abstract类,你无法创建它的实例。
public abstract class Car implements Automobile
你可能会做类似
的事情public class FordFocus extends Car
请记住,您需要调用超级构造函数,但之后您将能够创建FordFocus汽车类型的实例
答案 1 :(得分:2)
您的类Car
是一个抽象类,您无法创建抽象类的实例。
解决方案1
相反,您需要创建一个扩展类Car
的具体类,然后您可以创建该具体类的实例。
解决方案2
从您的Car
类声明中删除摘要(但我认为您不想这样做)。
答案 2 :(得分:0)
抽象类是一个声明为abstract的类 - 它可能包含也可能不包含抽象方法。抽象类不能被实例化,但它们可以被子类化。
因此支持引用Car car
,但不支持对象new Car();
。