看板 java 關於我們 聯絡資訊
※ 引述《dnzteeqrq (忍所不能忍)》之銘言: : 有幾些問題想請問一下各位高手 ~ : class A{ private interface D {void f();} : public class inner01 implements D { : public void f(){System.out.println("inner01");} : } public D getD(){ return new inner01();} : private D d1; : public void recevieD(D d){ : d1 = d; : d1.f(); } : } : public class B{ : public static void main(String args[]){ : A t = new A(); // A.inner01 i1 = t.getD(); // 不太明白為何錯誤 回傳型態的問題?? t.getD回傳的型態是D i1是子類別的ref不能reference到父類別 需要強轉 : 請高手幫忙解釋一下 ^^" : // t.getD().f(); public interface D : t.recevieD(t.getD()); : }} : 輸出結果: " inner01 " : 還有 getD() 的 return new inner01() 回傳之後, : 是不是會變成 new A().new inner01() ? 張貼程式碼可以用以下資源: http://nopaste.csie.org/ http://paste.plurk.com http://nopaste.info/ http://gist.github.com/ http://codepad.org -- 我的露天拍賣: http://tinyurl.com/6z4rw7 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.118.127.111 ※ 編輯: walm20 來自: 140.118.127.111 (08/31 17:21)
dnzteeqrq:感謝 ^^ 08/31 18:51