0

私は次のようなクラスの下にクラスがあります:

public class Class0 implements Class1{

    static class Class2 extends Class3 {
        ...
    }

}

別のクラスでは、を使用して、オブジェクトがClass2のインスタンスであるかどうかを確認したいと思いますobj instanceof Class2

したがって、オブジェクトのクラスを出力すると、次のようになります。

class Class0$Class2

私の質問は、instanceofこの場合どのように使用するのですか?私がしようとするとClass0.??!私は得られないのでClass0.Class2

4

2 に答える 2

2

を使用しinstanceof Class0.Class2ます。ただし、クラスが表示されていることを確認してください。パッケージの可視性を使用してクラスを宣言しました。nameClass0$Class2は、コンパイルされたコード内のクラスの名前です。通常、あなたはそれを参照しません。

于 2013-01-10T18:50:27.313 に答える
1

オブジェクトが特定のクラスであることを確認したい場合は、演算子Object.getClass()ではなくメソッドを使用する必要があると思いますinstanceof

特定のオブジェクトが特定のクラスのインスタンスである場合、演算子は単純にtrueを返します。これは、オブジェクトの階層内のすべての親クラスとインターフェイスに当てはまります。

于 2013-01-10T18:50:18.910 に答える