Javaコードをデバッグするとき、アプリケーションでそれらを取得して何かを行うのに役立つオブジェクトの多くのプロパティをよく見かけますが、APIまたはjavadocを見て、クラスにはそのようなプロパティまたはゲッターがありませんこれらのプロパティ値を取得するメソッド。例えば:
myPhoneCallObj.foo has value "bar" in debugger
myPhoneCallObj.baz has value otherObj which in turn has other values like otherObj.baz
Javaではできません:
String myValue = myPhoneCallObj.foo
Javaではコンパイルされませんが、Groovyでは上記のコードを記述でき、実行時に必要な値を取得できます。同じことを Java コードでどのように行うことができますか?
myPhoneCallObj は Java インターフェイス PhoneCall のインスタンスであり、デバッガーはこれをタイプ PhoneCallImpl (インターフェイスのサードパーティ実装) として表示していました。私はそのサードパーティのソースコードにアクセスして理解することはできませんが、インターフェイスには API の完全なドキュメントと Javadoc があります。