Javaオブジェクト13_メソッドのオーバーライド(優先)

書き換え1. A法(オーバーライド)

プロセスは、親クラスのサブクラスのニーズを満たすことができない場合は、我々はまた、書き換えたり上書き複製するために呼ばれ、サブクラスで親クラスを書き換えることができます。

次の3点にメソッドのオーバーライド対象:

  1. ==:メソッド名、パラメータリストは同じでなければなりません。

  2. <=:サブクラスオーバーライドメソッド修飾子修飾子許可権は、スーパークラスのメソッドをオーバーライドするに等しいより大きくなければなりません。

プライベート親クラスのメソッドをオーバーライドすることはできません、方法の静的な変更はオーバーライドすることはできません。

  1. <=サブクラスの戻り型と例外は同じ型と値型は、親クラスの例外タイプを返す以下でなければなりません。

    親クラスがオーバーライドメソッドの戻り値の型の基本データ型である場合は、文字列や空白を入力し、その後、請求サブクラスオーバーライド戻り型の方法をオーバーライドする方法は、一貫性と戻り型の親でなければなりません。

    親クラスが型参照データ型(文字列型が含まれていない)の戻り値として書き換えられた場合、親クラスの方法クレームサブクラスオーバーライド戻り型が戻り値の型と一致する方法を書き換え、または必要とされなければなりませんメソッドのサブクラスのオーバーライド戻り値の型は、親クラスのサブクラスは、値クラスの書き換え方法を返されなければなりません。

ケースオーバーライド[例]方法

// 父类
class Parent {
	public void show(){
		System.out.println("父类中的 show方法执行");
	}
}
// 子类
class Child extends Parent {
	// 子类重写父类的show方法
	public void show(){
		System.out.println("子类中的 show方法执行");
	}
}
public class ExtendsMethodDemo {
	public static void main(String[] args) {
		Child p = new Child();
		p.show(); // 执行的是子类的show方法
	}
}

注:サブクラスのメソッドが親クラスのメソッドをオーバーライドする場合、このメソッドは、サブクラスのオブジェクトによって呼び出され、メソッド呼び出しが書き込まコーティングされています!

サブクラスのメソッドが親クラスのメソッドを呼び出すためにsuperキーワードを使用して、親クラスのメソッドの機能を使用する必要がある場合は、キーワードが現在のオブジェクトの親オブジェクトを参照します。だから、親クラスの機能を踏襲し、ユニークな機能の種類を(superキーワードが使用され、これは非常に似ている)を定義していること。

[例]メソッドのオーバーライドアプリケーション

// 功能机
class Phone {
	void showPhoneNum() {
		System.out.println("显示来电手机号码");
	}
}
// 智能机
class IntelligentPhone extends Phone {
	// 覆盖父类方法,并添加新的功能
	void showPhoneNum() {
		// 使用super调用父类成员方法
		super.showPhoneNum();
		System.out.println("显示来电姓名");
		System.out.println("显示来电头像");
	}
}
public class OverrideDemo {
	public static void main(String[] args) {
		IntelligentPhone ip = new IntelligentPhone();
		ip.showPhoneNum(); // 调用的是子类的方法
	}
}

メソッドのオーバーライドとオーバーロードの違いは何ですか?

相違点 メソッドのオーバーロード メソッドのオーバーライド
英文名 オーバーロード オーバーライド
スコープ 同じクラスに起こります これは、継承関係で発生しました
メソッド名とパラメータリスト 同じメソッドの名前、同じパラメータリスト 同じメソッドの名前、同じパラメータリスト
修飾子権 アクセスのための要件はありません 親クラスへのアクセス、またはそれ以上サブクラス
戻り値と例外のタイプ 戻り値と例外タイプのタイプが必要とされていません 戻り値の型と例外のタイプ、親サブクラス少ないです

PS:最新の無料のマニュアルと教育ビデオの場合は、QQグループ(627407545)を追加してください受けます。

发布了55 篇原创文章 · 获赞 0 · 访问量 796

おすすめ

転載: blog.csdn.net/zhoujunfeng121/article/details/104600401