問題の解説お願いします。(オーバーロード&オーバーライド)
class A{
protected int method1(int a , int b){
return 0;
}
}
クラスAを継承したクラスで同時に定義できるメソッド
が、
public int method1(int a,int b){return 0;}
が良くて
private int method1(int a,int b){return 0;}
static protected int method1(int a,int b){return 0;}
がだめな理由がいまいちわかりません。
法則みたいなものにこう書いてありました。
(オーバーロードについて)
同一クラス内に同一名称のメソッドを定義することができます。
ただし、それらは引数が異なるものでなければならず、
アクセス制御修飾子や戻り値の型だけが異なるメソッドは
定義することができません。
(オーバーライドについて)
サブクラスでは、スーパークラスに存在するメソッドと同一引数・
同一戻り値型を持つメソッドを定義することが許されています。
これら以外にも何か決まりがあるのでしょうか
よろしくお願いします。
補足
やるとどんな徳があるか実例が知りたいです