Java Почему метод не определен?
Вопрос про метод static void data в классе Flat_town
class Room{
double area;
public Room(double area){
this.area=area;
}
}
class Flat extends Room{
int floor;
double kitchenar;
public Flat(double area,int floor,double kitchenar){
super(area);
this.floor=floor;
this.kitchenar=kitchenar;
}
}
class Flat_town extends Flat{
String town;
public Flat_town(double area,int floor,double kitchenar, String town){
super(area, floor, kitchenar);
this.town=town;
}
static void data(String town,int floor,double area, double kitchenar){
System.out.println(" Город "+ town + " Этаж " + floor + " Площадь комнаты "+ area + " Площадь кухни "+ kitchenar);
}
}
(Здесь пропуск блока с вводом и прочим)
Через System.out.println всё работает.
Но вызов метода не работает . Выдает следующее : The method data(String, int, double, double) is undefined for the type Main
Подскажите, что я делаю не так, пожалуйста.
Flat_town flat_town1 = new Flat_town(number,number1,number2,s);
data(s,number1,number,number2);
System.out.println(" Город "+ flat_town1.town + " Этаж " + flat_town1.floor + " Площадь комнаты "+ flat_town1.area + " Площадь кухни "+ flat_town1.kitchenar);
Ответы (1 шт):
Автор решения: Sergey Zh.
→ Ссылка
Ошибка расшифровывается следующим образом: метод data не определён в классе Main
А определён он в классе Flat_town
Поскольку метод статический, то для его вызова не в классе Flat_town (например в методах класса Main) нужно указывать Flat_town - имя класса где он определён, вот так:
Flat_town.data(s,number1,number,number2);