関数が呼び出されると、実行時にすべてのオブジェクトが作成されることを知っています。
バインドとは、クラス内でメソッド データ メンバーをバインドすることです。
事前バインディングは、コンパイル時にすべてのメソッド インスタンス変数をバインドします。すべてのオブジェクトは実行時に作成されるため、実行時にすべてのメソッド データ メンバーもバインドする必要があると考えました。
アーリーバインディングで、オブジェクトメソッドの呼び出しがコンパイル時に決定されるのはなぜですか? そのオブジェクトが実行時に作成された場合。
例えば。
class A{
public void foo(){
//some code here
}
}
public static void main(String[] args){
A aInstance = new A();
aInstance.foo();
}
foo() はコンパイル時に解決されましたが、aInstance は実行時に決定されます。