Как получить только некоторые * атрибуты / параметры * родительского класса в Java - PullRequest
0 голосов
/ 14 февраля 2019

У меня возникли некоторые проблемы с моим кодом, у основного класса есть String n, int s, int d, int i

public class Maincharacter {
static Dice dice = new Dice();
private final String name;
private final int strength;
private final int dexterity;
public int intelligence;

public Maincharacter(String n, int s, int d, int i){
    this.name = n;
    this.strength = s;
    this.dexterity = d;
    this.intelligence = i;
}

, и мне нужно, чтобы 3 расширенных класса получили те же атрибуты, норазличия в них

 public class Mage extends Maincharacter {
static Dice dice = new Dice();
private int maxMagic;
public int currentMagic;
private int heal;


public Mage(String n, int s, int d){
   super (n,s,d);
   this.maxMagic = 100;
   this.currentMagic = maxMagic;
}

Я хочу получить только String n, int s и int d, но ошибка говорит о том, что он отличается по длине, что мне также нужно добавить к нему int i.

Извините, если есть какая-то путаница или она может быть расплывчатой, но я не знаю, как так много кодировать.

1 Ответ

0 голосов
/ 14 февраля 2019

вы передали

super (n, s, d);

но конструктор суперкласса запрашивает 4 параметра, поэтому вы должны передать 4 параметра в класс Mageконструктор

super (n, s, d, / * другой параметр должен передавать * /);

...