4

私はクラス sayAと静的ネストされたクラスsay を持っていますB

public class A {
    public static class B {
        B(Temp x) {
            x.reg(this); // need to pass the nested class reference.
        }
    }
}

上記のコードは正しいですか?thisネストされた静的クラス コンストラクター内でキーワードを使用できますか?

これについて私を助けてください。ありがとう。

4

3 に答える 3

3

はい、そうです。ランタイムの場合、内部クラスは単なる別の個別のクラスです。内部クラスが静的でない場合は、外部クラスへの参照を持つだけですが、あなたの場合は静的であるため偶数ではないため、新しいファイルに新しいクラスを作成した場合とまったく同じです

「Public」ではなく「Public」と書くようにしてください。

于 2013-11-18T05:55:14.743 に答える
2

1) ネストされた静的クラスは外部クラスの参照を必要としませんが、非静的のネストされたクラスまたは内部クラスには外部クラスの参照が必要です。

2) 内部クラス (または非静的ネスト クラス) は、外部クラスの静的メンバーと非静的メンバーの両方にアクセスできます。静的クラスは、Outer クラスの非静的メンバーにアクセスできません。外部クラスの静的メンバーのみにアクセスできます。

3) Inner クラスのインスタンスは、Outer クラスのインスタンスなしでは作成できず、Inner クラスは、ネストされた Outer クラスで定義されたデータとメソッドを参照できるため、オブジェクトの参照をコンストラクターに渡す必要はありません。内部クラス。このため、内部クラスはプログラムを単純かつ簡潔にすることができます。

詳細については、http://www.geeksforgeeks.org/static-class-in-Java/を参照してください。

于 2013-11-18T05:56:52.283 に答える
0

メソッドのような静的クラスの動作static。このクラスはクラスに属しますが、インスタンスには属しません。したがって、this静的コンテキストでは意味がありません。

于 2013-11-18T05:57:13.440 に答える