作者tsaiminghan (nahgnimiast)
看板java
標題[問題] 內部class可繼承嗎?
時間Tue Nov 20 00:49:22 2012
有個class大約如下
外部class的funOut函式使用內部class的funcInner函式做事情。
----------------------------------------------
public class out {
private class inner{
public void funcInner(){}
}
public void funOut(){
inner i = new inner();
i.funcInner();
}
}
----------------------------------------------
我的問題是現在繼承了out物件,但是想改內部class
的funcInner的行為,這語法有沒有支援?
我現在唯一會的就是把funOut和class inner全部複製到
新的class,然後修改funcInner,有比較好的寫法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.224.112.64
→ pzyc79:可以覆寫inner.funcInner(),要先把inner改成protected以上 11/20 01:36
推 LaPass:可以是可以.... 只是包的這麼複雜幹什麼.... = = 11/20 01:46
→ jej:別人都private class了幹嘛繼承~~另寫一個類別包裝不是更好?? 11/20 13:00
→ tsaiminghan:啊,就這code是android的framework,不能改 11/20 20:43
推 LaPass:漏看private... 這樣的話沒辦法繼承... 11/20 21:33
→ tsaiminghan:那除了把code複製到新的class中之中,有其他方法嗎? 11/20 23:46
→ janyfor:都想改內部行為了, 重寫 inner class, overwrite funOut() 11/21 00:59