У меня есть класс под названием Monster, у каждого Monster есть имя, дата рождения и оружие.и конструктор Monster должен иметь следующую подпись:
Monster(String name, int day, int month, int year, String weaponName)
Для создания монстра должен работать следующий код:
new Monster("Godzilla",11,10,2000,"VenomThrower")
Поэтому я создаю поле данных в Monster:
public String name;
public MyDate dateOfBirth;
public int day;
public int month;
public int year;
public Weapon weapon;
Однако я должен использовать класс MyDate, определенный ниже, чтобы создать объект MyDate для dateofbirth.И используйте класс оружия, определенный ниже, чтобы создать объект оружия для оружия монстра.
Если бы мне пришлось использовать Object MyDate и Weapon, их тип отличался бы от конструктора (int day, int month, int year) и (String armsName), я пытаюсь привести параметры, но это компилирует ошибку.Кроме кастинга, есть ли другой способ добиться этого?Спасибо.
public class MyDate {
private int year;
private int month;
private int day;
MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public int getMonth() {
return month;
}
public void setMonth(int month) {
this.month = month;
}
public int getDay() {
return day;
}
public void setDay(int day) {
this.day = day;
}
}
public class Weapon {
private String name;
Weapon(String n) {
this.name = n;
}
public String getName() {
return name;
}
}