无法实例化类对象的类型(JAVA)(Cannot instantiate the type for

2019-07-20 19:29发布

这里的(在“新”,在第二个“杀手”),在那里我收到的错误代码。

String[] classes = new String[5];

kills[0] = "Brian Moser";
kills[1] = "James Doakes";
kills[2] = "Lila Tourney";
kills[3] = "Miguel Prado";

Killer morgan = new Killer("Dexter", 
                   "Morgan", 
                   kills,
                   4.0,
                   "Arthur Mitchell",
                   3,
                   false);

这已经给了我相当多的麻烦,因为我看不出为什么这个声明应该工作基于我的构造函数杀手。

而这里的杀手类:

import java.util.*;

public abstract class Killer{

public String firstName; 
public String lastName;
private String[] killList;
private double score;
private String nemesis;
private int accidents;
public boolean caught;

public Killer(String firstName, 
            String lastName, 
            String[] killList, 
            double score,
            String nemesis, 
            int accidents, 
            boolean caught) 
{
                this.firstName = firstName;
                this.lastName = lastName;
                for(int i = 0; i < 5; i++)
                    this.killList[i] = killList[i];
                this.score = score;
                this.nemesis = nemesis;
                this.accidents = accidents;
                this.caught = caught;
} //end constructor

我知道这可能有一个简单的解决方案,但截至目前为止,我没有看到它。

Answer 1:

以下是关于抽象类的几个要点

  1. 抽象类是声明为abstract类。
  2. 它可能会或可能不包括抽象方法。
  3. 抽象类不能被实例化 ,但它们可以被继承
  4. 抽象类不包含任何构造函数

你的情况有声明为public抽象级杀手一个抽象类,所以它的声明定义,这是命名为杀手 公众抽象类 ,所以它是前面提到的, 一个抽象类不能被实体化 ,所以你需要它的子类删除抽象的关键词,以获得它的实例进一步阅读的Oracle文档抽象类



Answer 2:

我们不能实例化抽象类。 这是抽象类的特性。 这是抽象如此。



文章来源: Cannot instantiate the type for class object (Java)