-1

メインクラスの onCreate メソッドから、サブクラス内にあるメソッドを呼び出したい。

私はこのようなことを試みましたが、メインクラスはどういうわけか静的であるため、非静的サブクラスへの参照を作成できません。サブクラスを静的にしたくない!

public class NetworkBroadcast extends Activity {
    public void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        Caster.castMac();
    }

    public class Caster extends Thread {
        public void castMac() {}
    }
}
4

2 に答える 2

3

castMacはのインスタンスメソッドです。つまり、を呼び出すにCasterは、のインスタンスを作成(または取得)する必要があります。または、静的メソッドにCaster変更することもできます。castMac現在はノーオペレーションであるため、どちらが適切かを判断するのは困難です。より多くのコンテキストを提供できれば、より具体的なアドバイスを提供できる可能性があります。

(2番目のポイントとして、拡張することはめったに良い考えではありませんThread。代わりに、それを実装してコンストラクターRunnableに渡します。)Thread

于 2012-06-22T16:03:54.477 に答える
1

castMac()メソッドを静的にする

public static voic castMac() {}

または、呼び出す前にCasterクラスのインスタンスを作成しますcastMac()

Caster c = new Caster();
c.castMac();
于 2012-06-22T16:05:19.957 に答える