0
親クラスのメソッドを呼び出すための条約/実践:次のようにクラスB、法3の実装ではのJava:次のコードについて
`
Class A
{
method1();
method2();
}
Class B extends A
{
method1();
method3();
}`
は次のとおりです。
method3()
{
this.method1(); // For calling method1 in class B
super.method1(); // For calling method1 in parent class A
// Following statements call method 2 in parent class
method2(); // 1 doesn't seem to be right practice
this.method2; // 2 is more readable in case method2 is overridden in this class
super.method2();// 3 improves readability IMO
}
3のmethod2を呼び出すことをお勧めしますか?
super.method()を呼び出すことは非常にまれです。特に、そのメソッドのオーバーライドから呼び出されない場合は、非常にまれです。誰もそれを期待しないので、ただそれを避けるのが最善です。メソッド呼び出しに 'this.'を追加するのは余計な情報です。 –
クラスBの中でメソッド2()をオーバーライドした場合にのみ、super.method()を使用します。 –
コードがコンパイルされ、興味があったときに1と2の両方が "this.method2()"になることを理解します。どちらが好ましいかを知ることができます。 method1()の場合、 "this.method1()"を "method1()"よりも優先して呼び出す方がよいと言った記事を見ました。 –