国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

《Effective Java》學習筆記(4)

2019-11-18 15:04:03
字體:
來源:轉載
供稿:網友

五。C語言結構的替代

如何用java模擬c語言中的一些結構

第19條:用類代替結構

    對于C語言中的結構,java可以用類來代替,不過你不應讓類的成員變量可以被公開訪問,成員變量應該是PRivate,然后提供一些讀寫操作來操縱這些變量,想比于C或者C++里的結構類型,這樣的類更為安全,體現了OOP的封裝性。示例代碼

public class Point{

    private float x;

   private float y;

    public float getX(){ return x;}

    public float getY(){ return y;}

    public void setX(int x){ this.x=x;}

    public void setY(int y){ this.y=y;}

}

第20條:用類層次來代替聯合

對于這點,俺不具體說明了,有愛好的自己看看聯合是怎么回事。書中舉了聞名的shape例子

第21條:用類來代替枚舉結構

    java取消了C語言中的枚舉類型(注重:jdk5.0已經增加了這一特性,有愛好的自己查找下資料),這里談的是如何在5.0以前模擬這一結構。

C語言:typedef enum{ CIRCLE,RECTANGLE,SQUARE} shape;

java語言:

public class shape{

  private final String name;

   public shape(String name) { this.name=name;}

   public String toString(){ return name;}

   public static final shape CIRCLE=new shape("CIRCLE");

   public static final shape RECTANGLE=new shape("RECTANGLE");

   public static final shape SQUARE=new shape("SQUARE");

}

以后就可以用shape.CIRCLE,shape.SQUARE來訪問其中的變量,可以看到,java的實現模型更為安全,它進行了類型檢查。很漂亮的設計!

第22條:使用類和接口來代替函數指針

  java沒有獨立于類或者接口的函數,任何方法都是包含在某個類和實例里面,所以,在C里面的函數指針就完全可以用類和接口來代替,很明顯的例子,如compareable接口,某個需要實現排序的數組,在調用

Arrays.sort()時,你可以傳入一個實現了compareable接口的比較器。這就相當于一個函數指針。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莎车县| 封丘县| 阿鲁科尔沁旗| 荔浦县| 蒙自县| 泽库县| 基隆市| 平昌县| 克拉玛依市| 丘北县| 雅江县| 红桥区| 长海县| 宿州市| 绥宁县| 溧水县| 屏东县| 分宜县| 孟津县| 米泉市| 永春县| 讷河市| 安西县| 乡宁县| 亚东县| 浠水县| 邵阳市| 定襄县| 金寨县| 交口县| 深水埗区| 砚山县| 蚌埠市| 涟水县| 二连浩特市| 分宜县| 河源市| 元朗区| 碌曲县| 墨脱县| 望城县|