-2

私はこの機能を持っています:

/***
 * Changes the windows panel and allows a state change
 * you can also change the minimum window size
 * */
public void changePanel(CBPanel panel){
    mainFrame.setContentPane();
    mainFrame.setMinimumSize(panel.getMinSize());
    mainFrame.setResizable(panel.canResize());
}

これはCBPanel唯一の引数として取りCBPanel、通常は に実装されるインターフェイスですJCOmponentJComponentfrom インターフェイス クラスのインスタンスを取得する方法はありますか?

私はそう呼んでいます

changePanel(new LoginPanel());

論理的には、 のインスタンスを取得できるはずLoginPanelですよね? ある種の型キャストの型宣言を使用するかどうか疑問に思っていましたか?

4

2 に答える 2

0

メソッドが、呼び出されたインターフェイスの参照として引数の型を持っている場合、CBPanelこのメソッドは、このインターフェイスを実装する任意のクラスのオブジェクトを受け入れることができます。したがって、JComponent実装CBPanelする場合、メソッドchangePanelはそれを受け入れます。

于 2013-09-14T16:55:36.247 に答える