Всем привет, возникает ошибка:
"Error:(6, 21) java: non-static variable this cannot be referenced from a static context".
В данной строчке: Car myCar = new Car();
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
myCar.start();
myCar.stop();
myCar.start();
myCar.drive(5);
myCar.stop();
myCar.drive(5);
}
public class Car {
boolean driveOn;
int allLong = 0;
public void start() {
System.out.println("Мы включили двигатель!");
driveOn = true;
}
public void stop() {
System.out.println("Мы выключили двигатель");
driveOn = false;
}
public int drive(int howLong) {
if (driveOn = true) {
allLong += howLong;
System.out.println("Мы проехали " + allLong + " километров!");
return allLong;
}
else{
System.out.println("Двигатель выключен!");
return allLong;
}
}
}
}
Попробовал исправить и получилось только так:
public static class Car
Кто нибудь может помочь в объяснении данной проблемы? Если ли другие способы решения этой проблемы?
Так работает нестатический внутренний класс в Java. Его объекты имеют смысл только в контексте объекта родительского класса, что отсутствует в статическом методе main
.
Вынесите класс Car
из Main
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Зачем делать private переменные и при этом создавать для них гэттеры и сеттеры?
столкнулся с такой проблемой, у меня есть контейнер (ListView) и я читаю в него файл, ну соответственно, когда файл большой программа виснетЧто...