0
javascist.expr.MethodCall.getClassName()は、バイトコード解析に依存するため、メソッド呼び出し側のコンパイル時の型を返します。私は、javassistを使ってメソッド呼び出し元の実際の実行時の型を取得する効率的な方法があるかどうか疑問に思っています。Javassistライブラリを使用してメソッド呼び出し側の実行時型を検出する
ここでは、わかりやすい例を示します。この例では
public interface Animal {
public void eat();
}
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("dog eating");
}
}
public class MainClass {
public static void main(String[] args) {
Animal a = new Dog();
a.eat();
}
}
、私は「)a.eat(」メソッドのメソッド呼び出し側として「犬」のオブジェクトを取得する方法を見つけたい