
Thinking in java 笔记
123
33-Hope
在校学生党 加油向上爬
展开
-
第十五章笔记——泛型
记录一下好的描述以及不知道的问题(会附带书中页码)总述(P352)为什么要解决泛型: ① 普通的类和方法只能使用特定的类型:基本数据类型或类类型。如果编写的代码需要应用于多种类型,这种严苛的限制对代码的束缚就会很大; ②而拘泥于单一的继承体系太过局限,因为只有继承体系中的对象才能适用基类作为参数的方法中; ③即便是接口也还是有诸多限制。一旦指定了接口,它就要求你的...原创 2020-03-17 12:34:03 · 528 阅读 · 0 评论 -
泛型擦除的补偿——传递工厂对象
工厂模式:主要是为了创建对象提供过度接口,以便将创建对象的具体过程(new关键字和具体的构造器)隐藏起来对于链接文章的问题,建议使用显式工厂(Supplier)并约束类型,以便只有实现该工厂的类可以这样创建对象。这是创建工厂的两种不同方法:// generics/FactoryConstraint.javaimport onjava.Suppliers;import java.util...原创 2020-03-15 14:59:13 · 167 阅读 · 0 评论 -
泛型擦除的补偿——模板方法设计模式
定义:在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类在以下示例中,create() 是模板方法,在子类中被重写以生成该类型的对象:// generics/CreatorGeneric.javaabstract class GenericWithCreate<T> { final T element; GenericWithCreate() { ...原创 2020-03-15 14:50:20 · 206 阅读 · 0 评论 -
第七章笔记——复用类
记录一下好的描述以及不知道的问题(会附带书中页码)(P125)在Java中,所有的问题都将围绕着类展开。可以通过创建新类来复用代码,达到不必再从头开始编写的目的。(P125)上述目的的窍门在于:使用类而不破坏现有程序代码。实现着以目的两种方法: 1. 组合: 在新的类中产生现有类的对象。 2. 继承: 无需改变现有类的形式,采用现有类的形式并在其中添加新的代码。(P1...原创 2020-02-03 19:29:09 · 208 阅读 · 0 评论 -
第六章笔记——访问权限控制
记录一下好的描述以及不知道的问题(会附带书中页码)(P109)重构:即重写代码,以使得它更可读,更易理解,并因此而更具可维护性。 一个优秀的程序员需要反复重写多次代码才会变得更加的完美。 域(即数据成员)(P110)当编写一个Java源代码文件时,此文件通常被称为编译单元(有时也被称为转译单元),每个编译单元都必须有一个后缀名.java 。每个编译单元只能 有一个public 类,否则编...原创 2020-02-03 14:55:25 · 193 阅读 · 0 评论 -
第五章笔记:初始化与清理
记录一下好的描述以及不知道的问题(会附带书中页码)(P77)在Java中,“初始化”和“创建”捆绑在一起,两者不能分离(P77)构造器没有返回值,但是和返回值为空的(void)不同。 对于空返回值,尽管方法不会自动返回什么,但仍可选择让它返回别的东西。 构造器则不会返回任何东西,你别无选择(new表达式确实返回了对新建对象的引用,但构造器本身并没有任何返回值)(P81)重载方法中的...原创 2020-02-03 13:02:25 · 220 阅读 · 0 评论 -
第四章笔记:控制执行流程
记录一下好的描述以及不知道的问题(会附带书中页码)for() 循环中的三个条件(初始化表达式、布尔表达式、步进运算)都可以为空。Foreach语法:就是上网课学的增强forreturn关键词有两方面的作用:①指定返回值 ②退出方法返回值如果在返回void方法中没有return语句,那么在该方法的结尾处会有一个隐式的returnbreak 和continue的区别: break用于强制退...原创 2020-01-14 20:21:35 · 146 阅读 · 0 评论 -
第三章笔记:操作符
记录一下好的描述以及不知道的问题(会附带书中页码)注意45页的标记3.10和3.11在计算机组成原理时再看操作符重载(参考百度百科):https://baike.baidu.com/item/%E6%93%8D%E4%BD%9C%E7%AC%A6%E9%87%8D%E8%BD%BD/5597644?fr=aladdin字符序列:就是指字符串,翻译成序列更多的是为了表示其在计算机中存储的特...原创 2020-01-14 19:50:44 · 169 阅读 · 0 评论 -
第二章笔记:一切都是对象
记录一下好的描述以及不知道的问题(会附带书中页码)(P26)一旦定义了一个类,就可设置两种类型的元素: –字段(有时被称作“数据成员”) –方法(有事被称作“成员函数”)(P26)若类的某个成员是基本数据类型,即使没有初始化,Java也会给它一个默认值。但该方法不适用“局部变量”。 eg:for(int i;i<10;i++) Excetio...原创 2020-01-14 19:10:18 · 146 阅读 · 0 评论