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
          手敲錯了,這樣子時可以的,樓主可以試一下  回復  更多評論
            

          主站蜘蛛池模板: 上虞市| 巩留县| 济阳县| 湖南省| 牡丹江市| 万源市| 浮山县| 滕州市| 资溪县| 潼南县| 隆昌县| 兴业县| 潍坊市| 海门市| 荃湾区| 祥云县| 漳州市| 沧源| 滨州市| 武邑县| 连平县| 黑山县| 馆陶县| 镇赉县| 琼结县| 米林县| 巴林右旗| 蒙城县| 百色市| 连山| 玉山县| 犍为县| 雷州市| 炎陵县| 凤庆县| 福泉市| 巩留县| 五华县| 临朐县| 怀来县| 兰州市|