zoukankan      html  css  js  c++  java
  • 【读书笔记】Thinking in Java(更新中)

    第一章 对象导论

    面向机器的编程语言:比如C,需要建立从问题空间到解空间的映射,需要掌握所谓的编程方法,这导致程序很难编写。
    对求解问题建模的语言:比如LISP,限定性太强,超出特定领域,则力不从心。
    面向对象的语言:比如Java,通用性强,不限于任何特定的问题。

    对象:具有状态,行为和标识。即拥有内部数据,方法,和唯一的地址。

    设计目的:因为可以自定义类,所以程序员可以灵活地定义类来适应问题,而不必被迫使用用来表示机器存储单元的数据结构。

    每个对象都有一个接口interface,定义可以满足哪些请求。

    将对象看做服务提供者:更加高内聚,避免将过多的功能塞到一个对象里。

    Java的访问限定符:Public, Private, Protected(继承的类可以访问),还有一种默认的包访问权限,可以访问同一个包下的类的成员。

    组合&继承区别:组合是在一个新类中创建了一个成员对象,继承则是将所有的特性和行为包含了。新类中可以再新定义方法is-like-a,或者覆盖原有方法is-a。

    多态:在一些方法操作时,经常将对象当做其基类的对象来处理,然后在运行时动态确定泛化对象,Java中,这种动态绑定是默认的,C++要用virtual关键字。
    从基类转成导出类,称为向上转型,这是安全的。

    单根继承:Java类都继承自Object,这可以保证垃圾回收的实现,比C++要好,C++没有单根类。

  • 相关阅读:
    增加Tomcat内存大小
    JAVA中的JSON
    js判断中文字符长度
    2016总结
    JavaScript 字符串实用常用操作
    Java文件操作
    hadoop中hbase出现的问题
    static_cast静态类型转换指针导致Release程序随机崩溃报错
    解决: error C2236: 意外的标记“class”。是否忘记了“;”?
    游戏操作杆代码
  • 原文地址:https://www.cnblogs.com/yanqiang/p/14203879.html
Copyright © 2011-2022 走看看