これが私のスーパークラスですAnimal
class Animal
{
//Empty
}
私のサブクラスTiger
class Tiger extends Animal
{
public static void TigerPrint()
{ -------
System.out.println("Tiger");
}
public void Run()
{
System.out.println("Tiger Running");
}
}
今私がやります、
Animal a=new Tiger();
コンパイル時 はa
.AtAnimal
実行時はTiger
.
だから、私はやった
a.getClass().getMethod("TigerPrint").invoke(null);//WORKS
a.getClass().getMethod("Run").invoke(null);//NOT WORKING (NullPointerException)
リフレクションRun
を介してメソッドを呼び出すにはどうすればよいですか。subclass
はい、できます
((Tiger)a).Run();
しかし、どうすればリフレクションでそれを行うことができますか!