Re: [問題] 請教一段程式碼(static&繼承)
※ 引述《ogamenewbie (觸摸著銀河的新手)》之銘言:
: http://www.osgi.org/documents/osgi_technology/download
: /r4-specs/OSGi_R4.core.pdf
: PDF的第 56/276 頁
: 3.6.7 類別過濾...
: 他給你的範例本來就不是打算要給你跑的...
: 後面有說啦, 因為
: public void initialize(Specified implementation) {
: 可以讓別人改到 implementation,
: 所以不應該給別人存取 (那幹麻不用 private)
: 因此用過濾把 Implementation 藏起來
: 這段只是說你要把東西藏起來可以用過濾藏起來,
: 範例程式能不能跑不是重點...
看到您的解說俺明白了(亮)
public class Impl {
public Impl(){
System.out.println("XD");
}
}
public class Spec {
private static Impl pl;
public Spec() {
pl = new Impl();
}
}
public class SpecChild extends Spec {
public static void main(String[] args) {
SpecChild sc = new SpecChild();
// make a error
Impl p = sc.pl;
}
}
我想這就是為什麼不用private的原因
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.26.34.20
※ 編輯: qrtt1 來自: 163.26.34.20 (02/17 19:16)
java 近期熱門文章
PTT數位生活區 即時熱門文章