問題のコードは次のとおりです。方法
class Student {
private void study() {
System.out.println("Student is studying");
}
public static void main(String args[]) {
Student student = new Sam();
student.study();
}
}
public class Sam extends Student {
void study() {
System.out.println("Sam is studying");
}
}
出力:
Student is studying
クラスサムのオブジェクトが作成され、学生はスーパーがあるとして、我々はにサムオブジェクトを割り当てることができますタイプStudentの参照変数。メソッド・スタディを呼び出すときには、オブジェクトに「サムが勉強中」と表示する調査方法があることが明らかです。参照型はスーパークラスであり、メソッドが隠されているので、スーパークラスメソッドを呼び出すのですが、オブジェクトと参照型を理解しているので、このダイジェストはできません。つまり、参照変数はオブジェクトへのポインタ(最初のjavaのリモートコントロールの類推)
プライベートメソッドは最終的なメソッドであり、オーバーライドできません。 – passion
@passion他のクラスにも表示されません。私はあなたが*上書きすることを意味すると思います* – Li357
OKメソッドを単純に保つ*メソッドオーバーライドは同じシグネチャを持つメソッドを意味します* '1)しかしここであなたの両方のメソッドは異なるシグネチャを持っています2)あなたは両方のクラスを同じファイルに書き込んでいると思います – emotionlessbananas