Итак, я программировал несколько лет, поэтому я не совсем новый, но я только начал изучать Java (из C++). Изучая библиотеку и просматривая ее примеры (jMonkeyEngine3, если вы должны знать), я столкнулся с внешним синтаксисом, который, похоже, не нашел никакой документации.Зарубежный синтаксис - нужна помощь Понимание
Вот код (все это находится в пределах одного класса):
/** Custom Keybinding: Map named actions to inputs. */
private void initKeys() {
// You can map one or several inputs to one named action
inputManager.addMapping("Pause", new KeyTrigger(KeyInput.KEY_P));
inputManager.addMapping("Left", new KeyTrigger(KeyInput.KEY_J));
inputManager.addMapping("Right", new KeyTrigger(KeyInput.KEY_K));
inputManager.addMapping("Rotate", new KeyTrigger(KeyInput.KEY_SPACE),
new MouseButtonTrigger(MouseInput.BUTTON_LEFT));
// Add the names to the action listener.
inputManager.addListener(actionListener, new String[]{"Pause"});
inputManager.addListener(analogListener, new String[]{"Left", "Right", "Rotate"});
}
private ActionListener actionListener = new ActionListener() {
public void onAction(String name, boolean keyPressed, float tpf) {
if (name.equals("Pause") && !keyPressed) {
isRunning = !isRunning;
}
}
};
Я предполагаю, что определяющая часть (15) создает объект ActionListener с частным области с именем ActionListener использования конструктор по умолчанию внутри класса - затем переопределяет/реализует метод onAction сам по себе. Затем в его реализации (11) он просто ссылается на этот созданный объект? Правильно ли это?
Большое спасибо за разъяснение.
Обычно принято включать код в свой вопрос, а не ссылку на внешний ресурс. Он держит все в одном месте и легче для всех. Я потянул его за вас. Добро пожаловать в переполнение стека! –
О, мне очень жаль. Я буду помнить это в следующий раз! –