Jafe Lee

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

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

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

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

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


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

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

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

          8、例子:
          FirstInterface.java

          SecondInterface.java

          ImplementClass.java

          Main.java

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

          評(píng)論

          # re: Java Interface 2007-07-20 22:39 Jafe
          留個(gè)問題:為什么需要使用接口回調(diào)技術(shù)?
          現(xiàn)在似乎懂了一點(diǎn),但是吃不準(zhǔn),慢慢研究~~  回復(fù)  更多評(píng)論
            

          # re: Java Interface 2007-09-08 23:15 R.X
          希望每天都有新發(fā)現(xiàn)!  回復(fù)  更多評(píng)論
            

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

          # re: Java Interface 2014-07-17 10:49 R.X.B
          @R.X.B
          手敲錯(cuò)了,這樣子時(shí)可以的,樓主可以試一下  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 嘉兴市| 岚皋县| 循化| 崇礼县| 治多县| 西昌市| 天镇县| 闽清县| 虎林市| 金秀| 呼图壁县| 诸暨市| 余姚市| 法库县| 芜湖市| 营口市| 阿瓦提县| 天祝| 合江县| 垦利县| 循化| 任丘市| 高雄市| 中方县| 大丰市| 天等县| 调兵山市| 凯里市| 莆田市| 湟源县| 庆元县| 绥德县| 西青区| 海盐县| 文昌市| 湟中县| 共和县| 阿克陶县| 呼玛县| 溧水县| 珲春市|