Re: [問題] Object的clone()問題

看板java作者 (swpoker)時間11年前 (2014/03/07 12:11), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串8/10 (看更多)
※ 引述《michael47 (hitman)》之銘言: : 請問Object class的method, clone(),的modifier是設為protected, : 對於protected的method,不是只要是該class的descendant就可以call嗎? : 但是所有的objects不是都是Object class的descendants嗎? : 如果是這樣,為何其它的class不能直接使用Object的clone()? protected(繼承範圍)是表示該成員的使用是在繼承的範圍內 class BObject { void test() throws Exception{ this.clone(); super.clone(); Object.clone(); } } 編譯錯誤會發生在第三行:Object.clone(); protected是表示該成員的使用範圍僅只在於有繼承的關係內 所有物件A去使用物件B的protected 成員的時候 使用的範圍是否為在繼承的範圍內? 例如以在第2行來說super.clone(); 使用的範圍在BObject內 而BOject是繼承Object 所以可以使用 而第三行的範圍是Object,所以不可見 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.29.28.131

03/07 12:30, , 1F
感謝回覆,Object不是一個在java.lang內定義的一個class
03/07 12:30, 1F

03/07 12:33, , 2F
如果不是static method可以直接使用Object.clone()嗎?
03/07 12:33, 2F

03/07 12:34, , 3F
回樓上 應該是不行
03/07 12:34, 3F

03/07 17:41, , 4F
static 是描述在class or object範圍
03/07 17:41, 4F
文章代碼(AID): #1J6KRgpn (java)
討論串 (同標題文章)
文章代碼(AID): #1J6KRgpn (java)