gpt4 book ai didi

java - 无法实例化类对象的类型 (Java)

转载 作者:行者123 更新时间:2023-12-02 12:48:49 25 4
gpt4 key购买 nike

这是我收到错误的代码(在“new”之后的第二个“Killer”处)。

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

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

这是 Killer 类:

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

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

最佳答案

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

  1. 抽象类是声明为抽象的类。
  2. 它可能包含也可能不包含抽象方法。
  3. 抽象类无法实例化,但可以子类化
  4. 抽象类不包含任何构造函数

在你的例子中,有一个抽象类声明为公共(public)抽象类 killer ,因此它的声明定义它是公共(public)抽象类命名为Killer,因此正如前面所述,抽象类无法实例化,因此您需要对其进行子类化或删除抽象关键字,以便进一步获取其实例 read oracle docs abstract classes

关于java - 无法实例化类对象的类型 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15157462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com