public class Main {
class Vehicle {
int passengers;
int fuelcap;
int mpg;
void range() {
System.out.println("Range is " + fuelcap * mpg);
}
}
class AddMeth {
public static void main(String[] args) {
Vehicle minivan = new Vehicle();
Vehicle sportscar = new Vehicle();
minivan.passengers = 7;
minivan.fuelcap = 16;
minivan.mpg = 21;
sportscar.passengers = 2;
sportscar.fuelcap = 14;
sportscar.mpg = 12;
System.out.print("Minivan can carry " + minivan.passengers + ". ");
minivan.range();
System.out.print("Sportscar can carry " + sportscar.passengers + ". ");
sportscar.range();
}
}
}
Вот код. При компиляции выдаёт ошибки:
Error:(17, 31) java: non-static variable this cannot be referenced from a static context
Error:(18, 33) java: non-static variable this cannot be referenced from a static context
Error:(16, 28) java: Illegal static declaration in inner class Main.AddMeth
modifier 'static' is only allowed in constant variable declarations
Для запуска программы внешний (единственный в файле публичный) класс должен называться так же, как и файл, и он должен содержать статический метод
public static void main(String[] args) {
// Делаете здесь, что надо
}
Этот метод является точкой входа в программу. Статические методы не могут обращаться к нестатическим переменным или методам. Следовательно, вам нужно либо все методы и переменные объявлять как статические, либо в коде статического метода создать экземпляр какого-либо класса (можно того же самого), и вызывать нестатический метод этого экземпляра, который будет делать всё, что вам надо, используя нестатические члены (переменные и методы экземпляра). Например, так:
public class Main {
public static void main(String[] args) { // Точка входа
new Main().run(args); // Создаем объект и вызываем его метод run()
}
int i, j; // Переменные экземпляра
void run(String... args) { // Метод экземпляра
// Делаете здесь, что надо
i = j = 123; // В методе экземпляра можно использовать переменные экземпляра
anotherInstanceMethod(); // И вызывать другие методы экземпляра
}
void anotherInstanceMethod() {
System.out.format("i = %d, j = %d\n", i, j);
}
} // public class Main {
Ну и советую всё-таки почитать учебники, тогда у вас таких вопросов (за которые, как видите, здесь минусуют) возникать не будет -- там все это написано.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Вот в чем вопрос: хочу вывести iFrame с обзором pdf, написал сервлет который отвечает за высылку информации (так как сам pdf находится не в папке...
У меня есть кнопка которая делает скриншотКак сделать какой-то эффект, чтобы было понятно ,что скриншот сделан
Почему дублируется диалог? Если запустить меню, выбрать доход, ввести доход, закрыть диалог, закрыть ввод дохода, в меню выбрать доход, ввести...
В vuejs мы создали объект для отправки, json, давая имена через camelCase