看板 java 關於我們 聯絡資訊
※ 引述《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
michael47:感謝回覆,Object不是一個在java.lang內定義的一個class 03/07 12:30
michael47:如果不是static method可以直接使用Object.clone()嗎? 03/07 12:33
tails32100:回樓上 應該是不行 03/07 12:34
swpoker:static 是描述在class or object範圍 03/07 17:41