1

Think in Java 第四版 读书笔记

 1 year ago
source link: https://wendaoit.github.io/2022/11/07/%E3%80%8AThink%20in%20Java%20%E7%AC%AC%E5%9B%9B%E7%89%88%E3%80%8B%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Think in Java 第四版 读书笔记

本书基于jdk1.5 有些许老旧

面向对象程序的挑战之一就是在问题空间的元素和解空间的对象之间创建一对一的映射。

UML统一建模语言,每个类用一个方框表示,类名在方框顶部,任何数据成员在中间,方法行为在底部;

第8章多态

  1. 子类想要获取父类的属性时,必须显式的使用super
    1. 因为子类转换为父类时,任何域的操作都是由编译器决定的,不是多态的;子类默认的域是自己的域;
  2. 什么是多态?
    1. 子类可以向上转型为父类,父类在调用传进来的方法时,无法判断是哪个子类(只有在编译中才能确定),这就是java的多态性;
  3. 向下转型时可能会出现类型转换异常ClassCastException
  4. 尽量避免子类和父类中出现同样的命名;

第九章 接口

  1. 包含抽象方法的类是抽象类
  2. 创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,被称为策略设计模式;
  3. 适配器设计模式——适配器中的代码将接受你所拥有的接口,并产生你所需要的接口。(类型转换?)
  4. 同时继承一个类和多个接口时,必须把类放在前面,否则会报错;
  5. 同名同返回类型的多个继承,不会报错,会覆写;but同名不同返回类型的继承会报错;
  6. 接口可以包含域,但是是隐式static和final的
  7. 接口和工厂——复用性
  8. 优先选择类而不是接口,必要的时候才对接口进行重构;

与C++ 的区别

  1. 数组的使用
    1. java更加安全,c++直接操作内存块;
  2. 代码作用域不同
  3. C++创建对象后,需要销毁对象,而java具有垃圾回收机制;
  4. c++没有变量初始化功能;
  5. C++中组合多个接口的类的行为是多重继承;

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK