Jafe Lee

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            49 隨筆 :: 0 文章 :: 24 評論 :: 0 Trackbacks
          1、一個Interface的方所有法訪問權限(visibility)自動被聲明為public,確卻的說,一個Interface的所有方法只能是public的,你可以顯式聲明一個方法是public(不推薦),但是不能聲明它是private或protected.但是當一個類實現某個接口,定義接口的方法時,必須且只能聲明為public,否則編譯將通不過。

          2、接口不能實現方法(implement method),只能聲明。接口可以只定義常量但不聲明任何方法。

          3、Interface不能有實例域(instance fields)或靜態方法(static method),但可以定義常量(define constants),常量自動設為public static final,可以通過類命直接引用常量,例如
          ImplementClass.z
          可以通過接口命和常量名直接訪問常量:
          FirstInterface.z

          4、一個非抽象(注意是非抽象類!)實現一個接口時,必須實現接口的所有方法,抽象類則不必實現所有方法。

          5、不能使用new操作符實例化一個接口,但可以聲明一個接口變量,該變量必須引用(refer to)一個實現該接口的類的對象。可以使用 instanceof 檢查一個對象是否實現了某個特定的接口。例如:
          if(anObject?instanceof?Comparable){}


          6、接口可以被另一個接口繼承(但是final好像不能修飾interface,編譯通不過,以后慢慢研究~~)

          7、標記接口(tagging interface, marker interface)沒有方法,使用它的唯一目的是可以用instanceof 進行類型檢查(Horstmann說了,不鼓勵用這種技術,^_^)

          8、方法的名字和參數列表被稱為方法的簽名(signature),實現一個接口以為著要用完全相同的簽名實現每個方法。因此實現接口方法時,一定要保證返回類型的兼容性。允許實現類的實現方法返回類型定義為原返回類型的子類型。這個跟繼承中子類覆蓋父類方法很相似。

          8、例子:
          FirstInterface.java

          SecondInterface.java

          ImplementClass.java

          Main.java

          運行結果:
          20
          21
          22
          I love you!
          I love you!
          9、匿名內部類(anonymous inner class):
          注意一個特別的例子
          AnonymousInnerClass.java
          而java.util.Comparator的定義為
          Comparator.java
          我敢開始看覺得奇怪,好像在匿名內部類中沒有實現方法boolean equals(Object obj);后來仔細一想,其實所有的類都是Object的子類,而Object正好有該方法的實現,所以,即使沒有實現該方法也是合法的。
          posted on 2007-05-26 00:16 Jafe Lee 閱讀(2330) 評論(4)  編輯  收藏 所屬分類: Java

          評論

          # re: Java Interface 2007-07-20 22:39 Jafe
          留個問題:為什么需要使用接口回調技術?
          現在似乎懂了一點,但是吃不準,慢慢研究~~  回復  更多評論
            

          # re: Java Interface 2007-09-08 23:15 R.X
          希望每天都有新發現!  回復  更多評論
            

          # re: Java Interface 2014-07-17 10:48 R.X.B
          int x = 20; //int x; 是不允許的
            回復  更多評論
            

          # re: Java Interface 2014-07-17 10:49 R.X.B
          @R.X.B
          手敲錯了,這樣子時可以的,樓主可以試一下  回復  更多評論
            

          主站蜘蛛池模板: 夏邑县| 定西市| 涿鹿县| 三门县| 宁河县| 安达市| 靖西县| 刚察县| 拉萨市| 昂仁县| 深州市| 河西区| 江油市| 富平县| 宜州市| 泰兴市| 建瓯市| 稷山县| 锦屏县| 雷山县| 吉林市| 沙湾县| 会昌县| 朝阳县| 乃东县| 额尔古纳市| 贵港市| 尚志市| 武隆县| 兴隆县| 南岸区| 工布江达县| 安新县| 丰城市| 庆元县| 蚌埠市| 苏尼特左旗| 犍为县| 潢川县| 泰宁县| 响水县|