違いを明確に最初の文:
オーバーロードは、コンストラクタのために使用したものと同じメソッド名の異なるメソッドパラメータをリロードされ、また、オーバーライドを書き換えるとして知られている、メソッドをオーバーライド親クラスであり、サブクラス書換え処理で実行される方法は、親クラスへのアクセスを可能にします。
近くにこれら二つのことについていくつかの話を見直します
過負荷(オーバーロード)
1オーバーロードされたクラス、メソッドと同じ名前が、異なるパラメータで。戻り値の型は同じでも異なっていてもよいです。
過負荷は、コンストラクタを使用しました
オーバーロードされたメソッド:同じメソッド名、異なる機能が- > パラメータが同じではない(パラメータタイプ、パラメータの順序(依然として異なるパラメータ型を必要とする)、合計)
オーバーロードしない構成:1. のみ戻り値の型(int型の変化をダブル異なる)は、リロードを構成するものではありません。
//只有返回值类型不同,不构成重载
public int add(int n2, int n1) {
int sum=n1+n2;
return sum;
}
public double add(int n2,int n1) {
int sum=n1+n2;
return sum;
}
2. 唯一のパラメータ名(N1は修正N2を)異なる、リロードを構成するものではありません。
// 只有参数名称不同,不构成重载
public int add(int n2, int n1) {
int sum=n1+n2;
return sum;
}
public double add(int n1,int n2) {
int sum=n1+n2;
return sum;
}
理解していない:2を呼び出すことができる場合は、コンピュータが曲を知っているので、何もしません。
書き換え(上書き)
メソッドのサブクラスは親クラスへのアクセスの実装を許可されて書き換えが再書かれ、戻り値であり、パラメータを変更することはできません。
3つの原則を書き換え:
* 1「=」:メソッド名、同じパラメータリスト
* 2「<=」:戻り値の型と例外タイプ、サブクラス以下の親クラスを宣言
* 3。「> =」:アクセスサブクラスより大きい親クラスに等しいです
class animals{
public void bark() {
System.out.println("啊啊啊");
}
}
class cat extends animals{
//重写animals里的bark方法------方法名、形参列表相同
public void bark() {
System.out.println("喵喵喵");
}
}