亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

父類定義一個private方法子類不可以重寫,那這個怎么可以重寫。

public?class?Overwrite?{
	public?static?void?main(String[]?atgs)?{
		B1?b?=?new?B1();
		b.fun();
	}
}

class?A1{
	private?void?fun()?{
		System.out.println("A類中fun()方法執行");
	}
}

class?B1?extends?A1{
	public?void?fun()?{
		System.out.println("B類中fun()方法執行");
	}
}


正在回答

2 回答

0 回復 有任何疑惑可以回復我~

在我看來,繼承父類并重寫父類的方法的目的是為了實現“多態”,也就是在調用方法時優先調用子類的方法

但看了你的代碼,你直接new出來一個B1的對象,并運行B1的fun();方法,這個時候B1是否重寫父類的方法已經不重要了!

最好的方式是這樣的:

public class OverWrite {

????public static void main(String args[]) {

????????A1 a1 = new A1();

????????A1 a2 = new B1();

????????a1.fun();

????????a2.fun();

????}

}

class A1{

????public void fun() {

????????System.out.println("A類中fun()方法執行");

????}

}

class B1 extends A1 {

????@Override

????public void fun() {

????????System.out.println("B類中fun()方法執行");

????}

}

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

父類定義一個private方法子類不可以重寫,那這個怎么可以重寫。

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號