[英]Java: what is the purpose of having a class inside an interface
我的一個朋友正在編寫一些Java代碼,我們就他的問題交換了一些想法(他使用的是混亂的框架)。
他的問題之一是通過將枚舉放在接口內的私有類中來解決的。 當他告訴我這件事時,我很頭疼。 他說, 這是在接口內部進行枚舉的一種方式 。 我一直認為接口僅是公開接口而已。
為什么可以在接口內放置類,並且可以達到什么目的?
我們可以在接口內部有類。 其用法的一個示例可以是:
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();
}
這里的代碼有兩個嵌套的類,用於封裝有關事件對象的信息,這些信息隨后在諸如getKeyEvents()的方法定義中使用。 將它們包含在Input接口中可以提高凝聚力。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.