[問題] 內部class可繼承嗎?

看板java作者 (nahgnimiast)時間13年前 (2012/11/20 00:49), 編輯推噓2(205)
留言7則, 5人參與, 最新討論串1/2 (看更多)
有個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

11/20 01:36, , 1F
可以覆寫inner.funcInner(),要先把inner改成protected以上
11/20 01:36, 1F

11/20 01:46, , 2F
可以是可以.... 只是包的這麼複雜幹什麼.... = =
11/20 01:46, 2F

11/20 13:00, , 3F
別人都private class了幹嘛繼承~~另寫一個類別包裝不是更好??
11/20 13:00, 3F

11/20 20:43, , 4F
啊,就這code是android的framework,不能改
11/20 20:43, 4F

11/20 21:33, , 5F
漏看private... 這樣的話沒辦法繼承...
11/20 21:33, 5F

11/20 23:46, , 6F
那除了把code複製到新的class中之中,有其他方法嗎?
11/20 23:46, 6F

11/21 00:59, , 7F
都想改內部行為了, 重寫 inner class, overwrite funOut()
11/21 00:59, 7F
文章代碼(AID): #1GgcCLyI (java)
文章代碼(AID): #1GgcCLyI (java)