所以我已经编程了几年了,所以我并不是真正的新手——但我刚刚开始学习 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)中它只是引用这个创建的对象?那会是正确的吗?
非常感谢您的澄清。