0

extends別のクラス ( JFrame) であるが、実装時に特定の変数の割り当てを強制するカスタム クラスを作成しようとしています(JFrameアプリケーションのそれぞれに「画面 ID」を持たせたい)。ただし、Java には抽象変数がありません。を拡張するインターフェイスを作成する方法を理解することもできませんJFrame。これは本当に私の頭が回転している = D

クラス コードは次のようになります。

public interface CustomFrame extends javax.swing.JFrame {
    public abstract int screen_id;
}

の実装は次のCustomFrameようになります。

public class NewFrame implements CustomFrame {
    public int screen_id = 5;
    NewFrame() {
        setVisible(true);
        // etc...
    }
}

この問題は誰にとっても意味がありますか?? 私は私の目的が何であるかを知っています。私は頭の中でそれを解決しようとして迷っています....

4

2 に答える 2

0

私が理解していることからJFrame、番号を必要とするのは(それ自体ではなく)サードパーティです。JFrame(すでに多くの懸念を抱えている)この負担を強要しようとするのは良い考えではないと思います。

この情報を外部に保存する代替手段を検討してくださいIdentityHashMap<JFrame,Integer>

于 2013-08-23T22:33:06.553 に答える