Java返回错误"无法实例化类型"

时间:2015-05-19 04:58:00

标签: java

当我尝试初始化新对象时收到此错误消息。

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

}

3 个答案:

答案 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)

Documentation表示

  

抽象类是一个声明为abstract的类 - 它可能包含也可能不包含抽象方法。抽象类不能被实例化,但它们可以被子类化。

因此支持引用Car car,但不支持对象new Car();