Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите решить ошибку Sword<Steel> steelSword = new Sword<> (Steel); JAVA

Максим Черепаха Ученик (207), на голосовании 1 год назад
public class Niga {
public abstract class Metal {
public abstract int getEndurance();
}
public class Steel extends Metal {
@Override
public int getEndurance() {
return 50;
}
}
public class Copper extends Metal {
@Override
public int getEndurance() {
return 20;
}
}
public class Iron extends Metal {
@Override
public int getEndurance() {
return 30;
}
}
public class Plastic {
}
public class Sword<T extends Metal> {
private final T metal;
public Sword(T metal) {
this.metal = metal;
}
public boolean checkEndurance() {
return metal.getEndurance() > 49;
}
}
public class Test {
public static void main(String[] args) {
// Создаем меч с использованием steel
Sword<Steel> steelSword = new Sword<> (Steel);
// проверяем прочность и выводим результат на экран
boolean isStrong = steelSword.checkEndurance();
System.out.println("Меч из стали " + (isStrong ? "прошел" : "не прошел") + " проверку прочности");
}
}
}
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445791) 1 год назад
Ошибка тут в том, что ты не отличаешь класс от объекта.

 Sword steelSword = new Sword (new Steel()); 
Похожие вопросы