invoke abstract class method
Bonjour,
Mon but et d'invoquer la method B.OnRun() par réflexion sachant que les 2 class sont dans des jar.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
public class A extends B
{
protected void OnRun()
{
}
}
public abstract class B
{
protected void OnRun()
{
}
} |
ce code m'appelle la méthode A.OnRun() et non B.OnRun()
Code:
1 2 3 4 5 6
|
Class< ? > cClass = clClassLoader.loadClass( "test.A" );
Object oObject = cClass.newInstance();
Method mOnRun = GetDeclaredMethods( oObject.getSuperclass(), "OnRun" );
mOnRun.invoke( oObject, new Object[0] ); |
et ce code générer une Exception (NullPointerException )
Code:
1 2 3
|
Method mOnRun = GetDeclaredMethods( oObject.getGenericSuperclass(), "OnRun" );
mOnRun.invoke( null , new Object[0] ); |
Merci