posts - 89,  comments - 98,  trackbacks - 0

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

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

          今天朋友發來郵件談起這種接口方式,說她寫的程序當中的最后一句有錯,讓 我幫著看看:下面是這段程序的源碼

          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里面看了,是一個警告原因就在于她用a.PI來取得常量值的方式的警告。

          其實原因很簡單,就是一個靜態字段需要在一個靜態方法中使用的警告。

          看了這段代碼后,我發現其實她使用常量接口的作用已經在實現了接口Maths的類中體現。就是我們可以在實現常量接口的類中直接使用常量而不必加上前面的對象,當然使用Math.PI也是對的,不過為了方便我們可以在這個類當中直接使用PI去代替它。

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

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

          而接口當中:對其它類來說是不可見的,除非我們需要去實現這個接口,只有實現它我們才可以直接使用 常量名 的方式

          常量接口當中定義的常量,在實現這個接口的類當中可以直接拿來使用。它里面沒有相關屬性和其它方法。還有一點就是:常量在使用起來更為簡潔。

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

          FeedBack:
          # re: 討論:Java 接口當中的 “常量接口”
          2006-10-26 08:27 | 水煮三國
          其實在interface當中定義的數據成員都是static final的,因此我們可以直接使用,且不能被修改  回復  更多評論
            
          # re: 討論:Java 接口當中的 “常量接口”
          2013-06-28 10:44 | maaoi
          用接口來管理常量會使程序失去動態的特性。
          可以參照:http://www.ibm.com/developerworks/cn/java/l-java-interface  回復  更多評論
            
          <2013年6月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          常用鏈接

          留言簿(4)

          隨筆分類(85)

          隨筆檔案(89)

          文章分類(14)

          文章檔案(42)

          收藏夾(37)

          java

          oracle

          Sybase

          搜索

          •  

          積分與排名

          • 積分 - 210989
          • 排名 - 266

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 北辰区| 凤台县| 濮阳市| 东宁县| 浏阳市| 勃利县| 民丰县| 漯河市| 南宫市| 四川省| 三河市| 南召县| 罗源县| 独山县| 根河市| 闸北区| 英山县| 库尔勒市| 南宁市| 叶城县| 崇礼县| 山东省| 南澳县| 茂名市| 长乐市| 建德市| 东乌珠穆沁旗| 青海省| 望城县| 宿迁市| 阳曲县| 阿瓦提县| 巍山| 玉门市| 鹤壁市| 芷江| 平和县| 新和县| 庆云县| 承德市| 昌图县|