0

別のクラスからrepaint()を実行しようとしています。私はこれを行う1つの方法を知っています:

//FromClass.java:
SomeClass whatever = new SomeClass(this);

    //SomeClass.java:
        FromClass f;
        public SomeClass(FromClass from){ //constructor
        f = from;
    }
    //after a long part of code
    f.repaint();

クラスコンストラクターにパラメーターを指定せずに、これを行う他の方法はありますか?そして、私の技術的な英語を申し訳ありませんが、まだ学んでいます。

4

1 に答える 1

0

クラス間で情報を共有する方法はたくさんあります。あなたが示した方法が最も効果的だと思います。その他のオプションは次のとおりです。

  • で定義されたすべてのメソッドを継承するようにSomeClass、のサブクラスを作成します。次に、変数のインスタンスを作成し、メソッドを呼び出します。クラス宣言は次のようになります。FromClassFromClassFromClass

    class SomeClass extends FromClass {
        ...
        super.repaint();  
        ....
    
  • インターフェイスFromClassを作成して実装します。

    public interface FromClass {
        void repaint();
    }
    
    class SomeClass implements FromClass {
        repaint();
    

他のいくつかの選択肢。:)

于 2012-07-07T19:41:58.383 に答える