このコードについて質問があります
public Car {
public static void m1(){
System.out.println("a");
}
public void m2(){
System.out.println("b");
}
}
class Mini extends Car {
public static void m1() {
System.out.println("c");
}
public void m2(){
System.out.println("d");
}
public static void main(String args[]) {
Car c = new Mini();
c.m1();
c.m2();
}
}
ポリモーフィズムは静的メソッドでは機能せず、インスタンスメソッドでのみ機能することを私は知っています。また、そのオーバーライドは静的メソッドでは機能しません。
したがって、このプログラムは次のように出力する必要があると思います:c、d
cはm1メソッドを呼び出しますが、静的であるため、オーバーライドできず、CarではなくクラスMiniのメソッドを呼び出します。
これは正しいです?
しかし、私の教科書には、答えは次のようになっているはずだと書かれています:a、d
タイプミスですか?私は今少し混乱しているので。
これを片付けてください、ありがとう。