所以,我目前通过错误的工作测试一些我的代码,我似乎得到这个错误:儿童的构造似乎调用父类的构造没有我的电话
constructor Being in class Being cannot be applied to given types;
public class Monster extends Being{
^
required: String,String
found: no arguments
reason: actual and formal argument lists differ in length
这里是我的代码示例: (家长)
public abstract class Being{
public String name;
public Race race;
public int str = 10, agi = 10, con = 10, wis = 10, HP, MP, tHP, tMP, lvl;
//Object Creator
public Being(String n, String rce){
name = n;
tHP = (con/2) + 10;
tMP = (wis/2) + 10;
HP = tHP;
MP = tMP;
lvl = 1;
}
}
(儿童)
public class Monster extends Being{
private Monster m = new Monster();
}
这只是一个小例子。我已经尝试了许多不同的方法来在Monster.java中创建构造函数,但每次出现相同的错误。有人请帮忙!
这就是java的是如何工作的,关于构造函数/多态性 – vandale
这就是我害怕......什么办法,我也许能得到解决吗? – tanishalfelven
当实例化一个子类时,java将首先实例化它的所有基类,并将默认实例化它们,其签名类似于你的子类。在你的代码中,你的基类没有默认的构造函数,所以java不能这样做。 – Rugal