posts - 89,  comments - 98,  trackbacks - 0

          Java接口當(dāng)中有一個(gè)類型為常量接口,我在網(wǎng)上看到有些人不提倡使用這種方式。具體的原因也沒怎么講,但是在這里我還是想與大家討論一下這個(gè)接口方式的使用。

          希望有對此接口使用方式有深刻了解的網(wǎng)友能夠多提意見:

          今天朋友發(fā)來郵件談起這種接口方式,說她寫的程序當(dāng)中的最后一句有錯(cuò),讓 我?guī)椭纯矗合旅媸沁@段程序的源碼

          interface Math
          {
          ??double PI=3.1415926;
          }
          class Arithmetic implements Math
          {
          ??double roudeArea(double radius)
          ???? {
          ???????? return PI*radius*radius;
          ???? }
          }
          class Student
          {
          ?? public static void main(String[] args)
          ???? {
          ?????? Arithmetic a=new Arithmetic();
          ?????? System.out.println(a.roudeArea(3));
          ?????? System.out.println(Math.PI);
          ?????? System.out.println(Arithmetic.PI);
          ?????? System.out.println(a.PI);
          ????? }
          }



          我在eclipse里面看了,是一個(gè)警告原因就在于她用a.PI來取得常量值的方式的警告。

          其實(shí)原因很簡單,就是一個(gè)靜態(tài)字段需要在一個(gè)靜態(tài)方法中使用的警告。

          看了這段代碼后,我發(fā)現(xiàn)其實(shí)她使用常量接口的作用已經(jīng)在實(shí)現(xiàn)了接口Maths的類中體現(xiàn)。就是我們可以在實(shí)現(xiàn)常量接口的類中直接使用常量而不必加上前面的對象,當(dāng)然使用Math.PI也是對的,不過為了方便我們可以在這個(gè)類當(dāng)中直接使用PI去代替它。

          同樣我們也可以使用類Arithmetic當(dāng)中的PI,我們可以直接引用arithmetic.PI,但是我們不能夠使用a.PI

          類當(dāng)中的常量定義對其它類來說是可見可用的:他的使用可以以 類名.常量名 即可

          而接口當(dāng)中:對其它類來說是不可見的,除非我們需要去實(shí)現(xiàn)這個(gè)接口,只有實(shí)現(xiàn)它我們才可以直接使用 常量名 的方式

          常量接口當(dāng)中定義的常量,在實(shí)現(xiàn)這個(gè)接口的類當(dāng)中可以直接拿來使用。它里面沒有相關(guān)屬性和其它方法。還有一點(diǎn)就是:常量在使用起來更為簡潔。

          posted on 2006-08-02 15:41 水煮三國 閱讀(1357) 評論(2)  編輯  收藏 所屬分類: J2SE

          FeedBack:
          # re: 討論:Java 接口當(dāng)中的 “常量接口”
          2006-10-26 08:27 | 水煮三國
          其實(shí)在interface當(dāng)中定義的數(shù)據(jù)成員都是static final的,因此我們可以直接使用,且不能被修改  回復(fù)  更多評論
            
          # re: 討論:Java 接口當(dāng)中的 “常量接口”
          2013-06-28 10:44 | maaoi
          用接口來管理常量會使程序失去動態(tài)的特性。
          可以參照:http://www.ibm.com/developerworks/cn/java/l-java-interface  回復(fù)  更多評論
            
          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(4)

          隨筆分類(85)

          隨筆檔案(89)

          文章分類(14)

          文章檔案(42)

          收藏夾(37)

          java

          oracle

          Sybase

          搜索

          •  

          積分與排名

          • 積分 - 211064
          • 排名 - 265

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 耒阳市| 玛沁县| 广灵县| 卓资县| 襄城县| 纳雍县| 恭城| 勃利县| 上虞市| 井冈山市| 如东县| 开封市| 泰来县| 岳西县| 汉川市| 襄汾县| 商南县| 龙山县| 晋江市| 内乡县| 阿克苏市| 郴州市| 哈巴河县| 临泉县| 双峰县| 凤冈县| 重庆市| 定日县| 丹东市| 兰溪市| 福安市| 南昌市| 新津县| 蓬安县| 红原县| 华坪县| 双柏县| 鄱阳县| 临猗县| 韩城市| 胶南市|