У меня есть небольшой пример, где у меня есть интерфейс, как показано ниже
public interface Chair {
int getHeight();
String getType();
int getPrice();
}
И класс:
public class ExpensiveChair implements Chair {
private int height;
private int price;
static private String type = "Expensive";
public ExpensiveChair(int height, int price){
this.height = height;
this.price = price;
}
public void setHeight(int height) {
this.height = height;
}
@Override
public int getHeight() {
return this.height;
}
@Override
public String getType() {
return this.type;
}
@Override
public int getPrice() {
return this.price;
}
}
Но если я сделаю что-то вроде
Chair chair = new ExpensiveChair(1, 2);
Я не могу позвонить
chair.setHeight(5)
Мне нужно сначала набрать его?
((ExpensiveChair) chair).setHeight(1);
Почему мне нужно привести его явно, или я не могу вызвать метод?