PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
java
Re: [問題] 關於向上轉型
作者:
jackblack
2016-10-09 02:07:43
※ 引述《DisdainU (莖莖濡吮汁)》之銘言:
: class Derived extends PrivateOverride{}
: public class PrivateOverride{
: private void f(){
: System.out.println("private f()");
: }
: public static void main(String[] args){
: PrivateOverride p=new Derived();
: p.f();
: }
: }
: /* output:
: private f()
: */
: 想問的是 既然base class的f()是private
: 也就代表在Derived中看不到f()
: 那為什麼例子中卻可以執行出結果?
: 手機排版 請見諒
:
作者:
v9290026
(CH)
2016-10-09 02:19:00
推!
作者:
DisdainU
(莖莖濡吮汁)
2016-10-09 02:47:00
意思是說,如果我在Derived中加入同樣的f(),但將此method改成public(意味兩個f()為不一樣的method只是名字一樣),其餘不變,執行結果依然是呼叫private method,是因為java在操作物件是先以reference的型別為主。我這樣理解有誤嗎?
作者:
haha02
(來人!上夾棍!)
2016-10-09 03:42:00
應該是因為private method無法被override 兩者視為不同的method吧你到Derived#f()
[email protected]
如果會表示沒有override到
作者:
DisdainU
(莖莖濡吮汁)
2016-10-09 12:52:00
瞭解了!謝謝解答
作者:
v9290026
(CH)
2016-10-09 17:26:00
[email protected]
繼續閱讀
[問題] eclipse scala run Spark 找不到class
popo14777
[問題] 新手提問 猛虎124題
shehrevar
[問題] 關於向上轉型
DisdainU
[問題] autowired問題一問
goldberg123
[問題] createNativeQuery的SQL列印
h06h06
[書籍] 徵JAVA考試卷一張
alex020917
[書籍] 賣Java SE8技術手冊(已售出)
max80713
[問題] 如何查詢物件的記憶體位置?
OnlyCourage
[問題] 程式撰寫問題
happy80313
[賣書]Java SE 7 技術手冊(附光碟)
heartsky7
Links
booklink
Contact Us: admin [ a t ] ucptt.com