作者pzyc79 (I'm bored)
看板java
标题[问题] 在子类别new建构子为protected的父类别
时间Sun May 11 00:53:48 2014
===============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://webptt.com/cn.aspx?n=bbs/java/M.1399740834.A.2E7.html
※ 编辑: pzyc79 (111.240.30.17), 05/11/2014 00:56:05
1F:推 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
2F:→ luoqr:default 是在同一个pkg下看的见没错呀 XD 05/11 02:45
3F:→ pzyc79:在等这句...代换一下protected是在子类别下看的见没错呀 XD 05/11 03:43
4F:推 luoqr:这应该是定义问题 constructor 和 function 不一样 05/11 12:34