【发布时间】:2013-06-14 07:09:05
【问题描述】:
我正在浏览《Beinging Android Games 2nd Edition》,发现了一些我不理解的代码。在清单 3-1 中有一个接口定义为 fallows
public interface Input
{
public static class KeyEvent
{
public static final int KEY_DOWN = 0;
public static final int KEY_UP = 1;
public int type;
public int keyCode;
public char keyChar;
}
public static class TouchEvent
{
public static final int TOUCH_DOWN = 0;
public static final int TOUCH_UP = 1;
public static final int TOUCH_DRAGGED = 2;
public int type;
public int x, y;
public int pointer;
}
public boolean isKeyPressed(int keyCode);
public boolean isTouchDown(int pointer);
public int getTouchX(int pointer);
public int getTouchY(int pointer);
public float getAccelX();
public float getAccelY();
public float getAccelZ();
public List<KeyEvent> getKeyEvents();
public List<TouchEvent> getTouchEvents();
}
我不明白的是,我认为 Java 不允许接口具有字段。这对于运行 Java 的 android 有什么不同吗?
【问题讨论】:
-
字段不在界面中;它们位于接口内的嵌套静态类中。接口允许嵌套静态类,类允许字段。