[問題] Protected
今天意外發現Java的protected這個修飾是可以向上的
class Parent {
public Parent() {
}
public Children createChildren(){
return new Children();
}
}
class Children extends Parent {
protected Children() {
}
protected String say() {
return "I am Children";
}
}
main(){
Parent parent=new Parent();
Children child=parent.createChildren();
System.out.println(child.say());
}
像這樣一段程式碼竟然可以跑
但是這樣一段架構的程式碼在C++ 還是C#都是不合法的
後來看了一下網路說明
protected好像只要同個packge 就算不是同個繼承下的依然可以呼叫的樣子
但是這樣不會失去保護的作用嗎?
有沒有高手能幫忙解釋一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.196.154
推
05/03 16:03, , 1F
05/03 16:03, 1F
推
05/04 15:10, , 2F
05/04 15:10, 2F