解读java.lang.MIDlet

public abstract class MIDlet {
    private MIDletProxy state;
    MIDletProxy getProxy() {
        return state;
    }

    protected MIDlet() {
        state = new MIDletProxy(this);
    }

    protected abstract void startApp() throws MIDletStateChangeException;

    protected abstract void pauseApp();

    protected abstract void destroyApp(boolean unconditional) throws
            MIDletStateChangeException;

    public final void notifyDestroyed() {
        state.notifyDestroyed();
    }

    public final void notifyPaused() {
        state.notifyPaused();
    }

    public final String getAppProperty(String key) {
        return state.getMIDletSuite().getProperty(key);
    }

    public final void resumeRequest() {
        state.resumeRequest();
    }

    public final boolean platformRequest(String URL) throws javax.microedition.
            io.ConnectionNotFoundException {
        return state.platformRequest(URL);
    }

    public final int checkPermission(String permission) {
        return state.checkPermission(permission);
    }
}

—————————-

可以看到这些操作都是通过委托类来实现的.MIDletProxy. 
所以关键关注MIDletProxy.