Я сделал статический класс ниже, чтобы любой класс мог получить доступ к любому из сенсорных методов моего робота lejos без необходимости создавать экземпляр для каждого класса.
Однако всякий раз, когда я вызываю такой метод, как StandardRobot.motorA.setPower(100)
, мой робот падает.Когда я использую один и тот же класс и делаю его локальный экземпляр, это прекрасно работает.Почему это?Оба раза мой код компилируется нормально и завершается с ошибкой во время выполнения.
import lejos.nxt.*;
public class StandardRobot {
public static ColorSensor colourSensor;
public static TouchSensor touchSensor;
public static UltrasonicSensor ultrasonicSensor;
public static NXTMotor motorA, motorB;
public StandardRobot() {
// instantiate sensors
ultrasonicSensor = new UltrasonicSensor(SensorPort.S1);
colourSensor = new ColorSensor(SensorPort.S2);
touchSensor = new TouchSensor(SensorPort.S4);
//instantiate motors
motorA = new NXTMotor(MotorPort.A);
motorB = new NXTMotor(MotorPort.B);
}
}