Javaでprivateメソッドは書き換えられますか?
2054 ワード
質問:Javaでprivateメソッドは書き換えられますか?
次はテストコードです
実行結果
A
B
ぶんせき
Javaでは、すべてのprivateメソッドのデフォルトはfinalであり、継承できません.したがって、BがAを継承する場合、Aのprivateメソッドprint()はBに継承されない.
一方、Bのpublicメソッドprint()は、Bが追加したメソッドに相当し、書き換えには属しません.
次はテストコードです
public class A {
private void print() {
System.out.println("A");
}
public static void main(String[] args) {
A a = new B();
a.print();
B b = new B();
b.print();
}
}
class B extends A {
public void print() {
System.out.println("B");
}
}
実行結果
A
B
ぶんせき
Javaでは、すべてのprivateメソッドのデフォルトはfinalであり、継承できません.したがって、BがAを継承する場合、Aのprivateメソッドprint()はBに継承されない.
一方、Bのpublicメソッドprint()は、Bが追加したメソッドに相当し、書き換えには属しません.