Я не очень хорошо разбираюсь в английском, но я попытаюсь объяснить, что я пытаюсь сделать.
Так что у меня этот конструктор класса здесь:Добавление Java Class Constructor в ArrayList (extends)
public class God {
public static ArrayList<God> gods = new ArrayList<God>();
private String name;
private PowerType powerType;
private AttackType attackType;
private ArrayList<ItemStack> abilities;
private Pantheon pantheon;
private GodClass godClass;
private List<Pro> pros;
private int favorCost;
private int gemCost;
public enum Pro {
HIGH_SINGLE_TARGET_DAMAGE, HIGH_MOBILITY, HIGH_AREA_DAMAGE, HIGH_CROWD_CONTROL, HIGH_DEFENSE, HIGH_SUSTAIN, PUSHER, HIGH_ATTACK_SPEED, HIGH_MOVEMENT_SPEED, GREAT_JUNGLER, MEDIUM_CROWD_CONTROL,
}
public enum GodClass {
ASSASSIN, GUARDIAN, HUNTER, MAGE, WARRIOR
}
public enum Pantheon {
CHINESE, EGYPTIAN, GREEK, HINDU, MAYAN, NORSE, ROMAN
}
public enum PowerType {
PHYSICAL, MAGICAL
}
public enum AttackType {
MELEE, RANGED
}
private int health;
private int mana;
private int speed;
private int range;
private double attackSpeed;
private int damage;
private int physicalProtection;
private int magicalProtection;
private int hp5;
private int mp5;
public God(String name, PowerType powerType, AttackType attackType,
ArrayList<ItemStack> abilities, Pantheon pantheon,
GodClass godClass, List<Pro> pros, int favorCost, int gemCost,
int health, int mana, int speed, int range, double attackSpeed,
int damage, int physicalProtection, int magicalProtection, int hp5,
int mp5) {
this.name = name;
this.powerType = powerType;
this.attackType = attackType;
this.abilities = abilities;
this.pantheon = pantheon;
this.godClass = godClass;
this.pros = pros;
this.favorCost = favorCost;
this.gemCost = gemCost;
this.health = health;
this.mana = mana;
this.speed = speed;
this.range = range;
this.attackSpeed = attackSpeed;
this.damage = damage;
this.physicalProtection = physicalProtection;
this.magicalProtection = magicalProtection;
this.hp5 = hp5;
this.mp5 = mp5;
gods.add(this);
}
Это нормально сейчас, верно? Если нет, поправьте меня, пожалуйста ...
Итак, давайте предположим, что это нормально, я создал несколько классов, расширяющих конструктор God
, которые являются Vulcan, Loki and Athena
public class Vulcan extends God {
private Vulcan(String name, PowerType powerType, AttackType attackType,
ArrayList<ItemStack> abilities, Pantheon pantheon,
GodClass godClass, ArrayList<Pro> pros, int favorCost, int gemCost,
int health, int mana, int speed, int range, double attackSpeed,
int damage, int physicalProtection, int magicalProtection, int hp5,
int mp5) {
super("VULCAN", PowerType.MAGICAL, AttackType.RANGED, abilities,
Pantheon.ROMAN, GodClass.MAGE, Arrays.asList(
Pro.HIGH_AREA_DAMAGE, Pro.PUSHER), 5500, 200, 380, 245,
360, 55, 0.9, 34, 13, 30, 7, 5);
}
Так что теперь класса будут добавлен к gods
ArrayList, не так ли? поправьте меня если я ошибаюсь.
Итак, когда я печатаю список gods
, я получаю пустой ArrayList.
Я сделал что-то не так? Или мне нужно определить классы Vulcan, Loki and Athena
? Я действительно смущен, помогите пожалуйста.
Ваш код скомпилирован? –
@JawadLeWywadi Хорошо, опубликовал реальный код. – PepsiGam3r
Проверьте ответы ниже. У вас должен быть только один класс. –