`
TonyLian
  • 浏览: 402153 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【第19条】用类代替结构

阅读更多

《第5章 C语言结构的代替》

 

    这章中主要讲解了相对于C语言,Java语言中语法结构中被省略掉的东西Java是如何替代的。这些被省略的东西的共性,也是它们被省略掉的重要原因就是它们都是面向数据的,而不是面向对象的。

 

    如果不是C语言的程序员,作者也认可读者可以跳过此章。那么我也简单地写一点吧,因为这一章的道理都很简单明了。

 

 

【第19条】用类代替结构

 

    C语言的结构体(struct),用(class)来代替。

 

    一个退化到只包含一些数据域,就大体上类似C语言的结构了。而且使用类的好处还有就是可以通过封装带来数据保护的好处(这不就成了JavaBean了吗)。进而Java中有这么一条告诫“公有类不应该直接暴露数据域”。如果有一天,某人跟你说getter/setter是“脱了裤子放屁”,直接写成 public String name; ,那么没的说,直接打他PP。

 

    这一条很简单,就到这里了。

 

 

【Effective Java 学习笔记】系列连载专题请见:
http://tonylian.iteye.com/categories/64208

分享到:
评论

相关推荐

    Fortran77结构化程序设计

    - **汇编语言**:使用助记符代替机器码,提高可读性但仍需手动管理内存。 - **高级语言**:更接近人类语言,提高了编程效率和可移植性。 - **高级语言示例**:BASIC、FORTRAN、C、Pascal、C++、Java等。 - **...

    数据结构数据结构数据结构数据结构数据结构

    数据结构可以分为两大类:逻辑结构和存储结构。 - **逻辑结构**:指的是数据元素之间的逻辑关系,而不涉及具体的存储方式。逻辑结构主要有四种类型: - 集合结构:数据元素之间没有明显的逻辑关系,数据元素组成一...

    第二册第10课近代中国经济结构的变动.ppt

    - 鸦片战争和第二次鸦片战争对中国经济结构的深刻改变。 - 外国资本主义经济势力的入侵,导致中国传统手工业的衰退,如孟郊《织妇词》中描绘的情景。 6. 洋务运动的实质: - 从生产力发展的角度看,洋务运动实质...

    Linux编程规范

    - **第十条**:对于`[]`, `.`, `->`这类操作符前后不加空格。 - **第十一条**:代码行的最大长度宜控制在70至80个字符以内,过长的行可以通过合理的方式进行折行。 - **第十二条**:花括号的位置采用K&R风格,非函数...

    计算机系统结构考试题库及答案.docx

    9. **第二代计算机**:使用晶体管代替真空管,提高了计算速度和可靠性。 10. **第三代计算机**:引入了集成电路,进一步缩小了组件尺寸并增强了计算能力。 11. **第四代计算机**:大规模集成电路和超大规模集成...

    东北大学20春《结构抗震设计》在线平时作业2答案.docx

    #### 十九、非液化土层对抗液化的影响 - **知识点**:非液化土层对抗液化的影响。 - **详细解释**:上覆非液化土层的厚度对抵御土层液化有显著影响。随着非液化土层厚度的增加,土层液化的可能性逐渐减小。当非液化...

    计算机二级C语言考试题预测

    - 数据结构可分为线性结构和非线性结构两大类。 82. **数据存储结构与数据处理的关系** - 数据的存储结构对数据处理的效率有很大影响。 83. **线性表的定义** - 除首尾元素外,每个元素都有一个直接前件和...

    第十九章shell脚本的基础.docx

    ### 第十九章 Shell 脚本的基础 #### 19.1 Shell 基本语法 ##### 19.1.1 什么是 Shell? Shell 是一个位于操作系统与用户之间的命令解释器,它作为用户与底层操作系统之间的一个界面,用于接收用户的输入命令并将...

    Java学习总结(2023/03/19)

    2. 使用枚举代替常量类。 3. 优先考虑使用静态成员类。 4. 使用final、static和private修饰符来防止意外的类初始化。 5. 尽量避免使用原始类型数组,而是使用泛型集合。 6. 使用泛型编写类、方法和接口。 7. 避免在...

    计算机组成与系统结构试题整理.doc

    9. **第二代计算机**:始于1958年,使用晶体管代替真空管,显著减少了体积和功耗。 10. **第三代计算机**:1960年代中期,引入了小规模和中规模集成电路,进一步提高了计算机的集成度和性能。 11. **第四代计算机*...

    新外研版六年级英语上试题1-4模块(上册).doc

    第十题考查现在完成时,主语是单数,助动词用has,答案是B。 3. 动词时态与形式:例如第四题考查现在进行时,动词应使用现在分词形式,答案是B;第五题是一般现在时,情态动词can后跟动词原形,答案是C;第十四题...

    项目中常用的 19 条 SQL 优化宝典.pdf

    以下是19条在项目中常用的SQL优化策略,它们可以帮助你提高数据库性能,减少资源消耗。 1. **选择合适的索引**:索引可以极大地加快查询速度。为经常用于搜索或排序的列创建索引,并确保避免在低选择性列上创建索引...

    分类资料的统计分析.pdf

    22. 使用标准化率可以消除如人口年龄结构等因素对比较的影响。 23. 甲乙两地冠心病标化死亡率的比较说明,标准化可以调整各年龄组人口数差异对死亡率的影响。 总结来说,分类资料的统计分析涉及各种相对数的计算和...

    HCIP第十九天内容,IPV6知识点

    - 全0段可以用":"代替,最多省略两次,不能连续省略。 **IPv6地址分类**: - **单播地址**:一对一通信,既可用作源地址,也可用作目标地址。 - **多播地址**:一对多通信,仅用作目标地址。 - **任意播地址**:...

    Java工程师必知必会.docx

    21. 使用类文件代替资源文件 22. 使用NumberFormat格式化数字 23. 使用DateFormat格式化日期、时间 24. 使用SimpleDateFormat格式化日期 Java集合概: 1. Collection和Iterator接口 2. Set集合 3. List集合 4. ...

    OBJECTIVE-C编程之道 IOS设计模式解析电子书+源代码

    模板方法18.1 何为模板方法模式18.2 何时使用模板方法18.3 利用模板方法制作三明治18.4 保证模板方法正常工作18.5 向模板方法增加额外的步骤18.6 在Cocoa Touch框架中使用模板方法18.6.1 UIView类中的定制绘图18.6.2...

Global site tag (gtag.js) - Google Analytics