Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
すべての Java 関数は暗黙的に仮想的であると聞いたことがありますが、これが希望どおりに実行されるかどうかはまだわかりません。
子 B を持つクラス A があるとします。A と B の両方に foo() という関数があるため、B の定義が A の定義をオーバーライドします。
また、A には、A のインスタンスをパラメーターとして受け取る関数が呼び出されているとします。
B のインスタンスを関数に渡すと、foo() のどの定義が呼び出されるのでしょうか? A と B のどちらですか?
B の実装が呼び出されます。 まさにその通りvirtualです。
virtual