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

看板java作者 (PTT新聞)時間13年前 (2012/11/28 15:08), 編輯推噓2(203)
留言5則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《tsaiminghan (nahgnimiast)》之銘言: : 有個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,有比較好的寫法嗎? 應該可以吧~ class out { private class inner{ public void funcInner(){ System.out.println("out.inner.funcInner");} } public void funOut(){ System.out.println("out.funOut"); inner i = new inner(); i.funcInner(); } public out(){ System.out.println("out"); } } class out2 extends out { public void funOut(){ System.out.println("out2.funOut"); super.funOut(); } public out2(){ System.out.println("out2"); funOut(); } } public class Test { public static void main(String[] args) { System.out.println("1"); out o1 = new out(); System.out.println("2"); out2 o2 = new out2(); System.out.println("3"); } } 輸出 1 out 2 out out2 out2.funOut out.funOut out.inner.funcInner 3 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.175.188

11/28 15:41, , 1F
有創意..但跟原文解題目的好像不相干?
11/28 15:41, 1F

11/28 16:28, , 2F
有干!證明 inner Class 可以繼承使用
11/28 16:28, 2F

11/28 17:44, , 3F
可以使用? 可以繼承?
11/28 17:44, 3F

11/28 17:48, , 4F
原PO是打算在繼承的中class繼承inner class
11/28 17:48, 4F

11/28 21:20, , 5F
很好你繞一圈呼叫了inner其中一個方法 但是繼承只有這樣嗎?
11/28 21:20, 5F
文章代碼(AID): #1GjRXhZx (java)
討論串 (同標題文章)
文章代碼(AID): #1GjRXhZx (java)