1

次のようなオブジェクトを渡すと:

class Car {}

Audi extends Car {}

do.something(Car car) { }

Audi audi = new Audi();
do.something(audi);

車が であることをどのように確認できますAudiか?

Carまた、渡された特定のサブクラスが必ずしもあるとは限らず、実際には単なるジェネリックである可能性があると仮定しCarます。

次のような場合:

A4 extends Audi {}

それから

A4 a4 = new a4();
do.something(a4);

A4はクラスの孫になります...では、この場合、がであるCarことをどのように知ることができますか?carA4

等々...

4

4 に答える 4

1

リフレクションでクラスの名前を取得できます。

public void something(Car car){
    String carName = car.getClass.getSimpleName();
    System.out.println("CarName: " + carName);
}
于 2013-08-12T11:55:51.317 に答える