Я создаю программу, в которой существуют различные классы, которые конвертируют доллар в разные валюты. Например, класс для йены, класс для евро и т. Д. Каждый класс реализует интерфейс Converter
, который содержит методы toDollar()
и fromDollar()
.Почему статический метод не может быть реализован?
interface Convert {
double fromDollar(double dollars);
double toDollar(double otherCurrency);
double dollar = 1.1; //each euro is 1.1 dollar
}
Однако я пытаюсь реализовать эти методы, как static
, потому что я не нужен экземпляр класса для того, чтобы конвертировать из долларов. Тем не менее, я получаю сообщение об ошибке при попытке реализовать/переопределить эти методы в интерфейсе. Как мне это сделать?
public class toEuro implements Convert{
private final double euro = .91;
public double fromDollar(double dollars){
return dollars * euro;
}
public double toDollar(double euro){
return euro/dollar;
}
public static void main(String args[]){
toEuro tE = new toEuro();
System.out.println(toE.fromDollar(12833.23));
}
}
Я не хочу, чтобы сделать экземпляр toEuro! Я должен просто иметь доступ к нему статически.
Если вы хотите получить доступ к нему с помощью статических методов, какова точка вашего интерфейса 'Convert'? Как вы рассчитывали точно использовать методы? – sstan
«Тем не менее, я получаю сообщение об ошибке» - И вы не думаете, что ошибка относится к вопросу? – John3136
Зачем даже использовать интерфейс, если нет наследования. Вопрос не имеет смысла. –