看板 java 關於我們 聯絡資訊
===============Class Test:=============== package a; public class Test { protected Test(){ } } ===============Class Test2:============== package b; import a.Test; public class Test2 extends Test{ void fun(){ Test t = new Test(); //Test() is not visible } } WHY? 宣告protected不是可以在子類別中看見嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.240.30.17 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1399740834.A.2E7.html ※ 編輯: pzyc79 (111.240.30.17), 05/11/2014 00:56:05
luoqr:是在 new Test2() 時 super() 看的見, 不是在new Test()看見 05/11 01:00
===============Class Test:=============== package a; public class Test { Test(){ } } ===============Class Test2:============== package a; import a.Test; public class Test2 extends Test{ void fun(){ Test t = new Test(); //OK } } 照你說的「是在new Test2()時super()看的見 ,不是在 new Test() 看見 那換成這樣…… 在new Test()又看的見了? ※ 編輯: pzyc79 (111.240.30.17), 05/11/2014 01:33:01
luoqr:default 是在同一個pkg下看的見沒錯呀 XD 05/11 02:45
pzyc79:在等這句...代換一下protected是在子類別下看的見沒錯呀 XD 05/11 03:43
luoqr:這應該是定義問題 constructor 和 function 不一樣 05/11 12:34