メソッドの呼び出しやフィールドの値の変更など、Reflection を使用すると便利なことができることはわかっています。ただし、実行時およびプログラムでより重いコード変更を行うことは可能ですか?
たとえば、メソッドがある場合:
public void foo(){
this.bar = 100;
}
このメソッドの内部を変更し、フィールドに定数が割り当てられていることに気づき、それを次のように変更するプログラムを作成できますか?
public int baz = 100;
public void foo(){
this.bar = baz;
}
おそらくJavaは、この種のことを行う言語ではないかもしれません-そうでない場合、基本的にこの方法でコードを再解析または検査し、それを非常に正確に変更できる言語の提案を受け入れます. 私はここで夢物語かもしれませんが、これも当てはまるかどうか教えてください.