class Y{
void process(){
System.out.println("In Y process()");
}
}
class I extends Y{
void process(){
System.out.println("In I process()");
}
public static void main(String[] args){
Y y = new I();
y.process();
}
}
このコードはJavaのオーバーライドに基づいていますが、この問題に関する疑問があります.y参照変数を使用してプロセスメソッドを呼び出すと、実行時に解決されたメソッド呼び出しか、コンパイラによって解決されますか? JVMがどのプロセスメソッドを呼び出すか、それともコンパイラかを問わず、答えを出す理由を挙げてください。Javaでのオーバーライド:メソッド呼び出しの解決方法
投稿時にコードをフォーマットする時間を取ってください。インデントなしで読むのはとても難しいです。さらに、このトピックは複数回にわたってカバーされており、少なくとも*いくつかのテストアプリケーションの出力だけで答えることができます。 –
[スーパークラスのオーバーライドされたメソッドを呼び出す方法](https://stackoverflow.com/questions/15668032/how-to-call-the-overridden-method-of-a-superclass)の可能な複製 – Blasanka
試しましたか?コードを実行していますか? – Li357