
thinking-in-java第四版
nimahai_balabala
这个作者很懒,什么都没留下…
展开
-
读书笔记九:异常处理和日志
try catch finally执行顺序 1.当语句块中没有return的时候,执行顺序为try,catch,finally 2.当try或者catch中有return或者throw的时候,finally永远在try中或者catch的return之前执行。 其实更加可以理解为:finally是在执行离开该代码块的语句之前执行。return和throw都是离开该try代码块的代码。 鉴于f...原创 2018-02-27 12:16:44 · 358 阅读 · 0 评论 -
Thinking in java 读书笔记(八.2:abstractCollection、List和AbstractList阅读)
AbstractCollection继承collection,只抽象了两个方法,因为其他方法基本都是可以使用迭代器实现的。 而List接口是增加了八个接口,两个ListIterator方法(ListIterator是可以双向遍历的一种迭代器,只适用于list),两个搜索操作(indexOf,lastIndexof),四个Positional Access Operations。Abstrac...原创 2018-02-21 22:55:41 · 247 阅读 · 0 评论 -
Thinking in java 读书笔记(八.1:持有对象以及collection源码阅读)
其实thinking in java 这章大略的介绍了泛型(runtime type)以及collection的一些API。所以这里是打算直接阅读collection源码。接下来写写阅读源码的感想。 这里看的是jdk8 一、持有对象 泛型: 在SE1.5前没有泛型,很多容器存储对象的时候(比如ArrayList)直接作为Object存储,取出的时候再强制转换。 二、collection接...原创 2018-02-15 12:23:00 · 207 阅读 · 0 评论 -
Thinking in java 读书笔记(七.2:内部类:闭包和控制框架)
一、 内部类是就是面向对象的一种闭包形式。 首先说说闭包。最坑爹的闭包应该是JavaScript的闭包了,JS函数外部无法读取函数内的变量,而函数内可以读取外部变量,然后当外部需要读取内部变量时就需要使用闭包(JS一般使用一个function表示闭包)。 而对于Java来说,可以吧函数类比为class,当我们需要读取某个class的某个private的参数可以使用内部类来访问,因为内部类可以...原创 2018-02-12 20:47:26 · 358 阅读 · 0 评论 -
Thinking in java 读书笔记(七.1:内部类:匿名内部类和内部类的简单应用)
其实本来打算先跳过这章,优先看容器,结果被面试官问:除了接口还有什么解决java多继承的方法,然后懵逼,然后被告知就是内部类。想了想确实应该是一种解决多继承的方法,内部类是可以继承其他类从而拥有其特,outerclass又可以引用内部类,特么的不就是意味着outerclass拥有多个特性。然而就是没这悟性。 一、 静态的内部类和一般的内部类的创建对象形式不同:原创 2018-01-31 00:27:14 · 229 阅读 · 0 评论 -
Thinking in java 读书笔记(六、接口:抽象类/方法,接口的属性和方法,策略模式,适配器模式,工厂模式)
一、抽象类/抽象方法. 抽象方法是没有实体的,继承必须实现抽象方法,如果不实现抽象类的抽象方法, 则子类也是抽象类,抽象类可以没有抽象方法,但是有抽象方法一定是抽象类.二、 接口的属性隐式的为public static final,而且必须要有初始值。接口的方法是默认public abstract的。 接口没有代码块。 这里注意了,接口是可以继承原创 2018-01-26 21:05:10 · 174 阅读 · 0 评论 -
Thinking in java 读书笔记(五)
emm重装电脑装java环境真是把我搞死了,日他妈卖批的JDK9 一、动态绑定 多态是动态绑定的,实例代码如下: Shape s = new Circle(); s.draw(); Shape是Circle的父类,如果Circle有覆盖Shape的draw()实例方法,则调用Circle中的方法,如果没有覆盖,则调用Shape中的draw方法,这里有个情况...原创 2017-11-27 16:08:45 · 430 阅读 · 0 评论 -
Thinking in java 读书笔记(四、toString,class的初始化顺序)
一、当编译器需要一个String,而只有对象的时候,自动调用toString方法二、子类的构造器类型数量一定是在父类构造器之内三、简易的代理四、final五、初始化原创 2017-11-15 14:55:36 · 315 阅读 · 0 评论 -
Thinking in java 读书笔记(三、finalize(),对象的创建,可变参数列表,函数重载)
一、 finalize()是Object的接口,作用是回收对象,一般由GC自动调用来回收对象,调用后,下个GC周期会回收这个class实例(不建议使用),System.gc()可以显示的调用GC来触发finalize();二、对象创建的过程: 1首次创建或者调用某个class的静态方法/静态域(包括构造器)时,java定位查找class的路径。原创 2017-11-13 02:13:48 · 365 阅读 · 0 评论 -
Thinking in java 读书笔记(二、for循环,标签,switch语句)
一、 for循环拥有逗号操作符,但是仅限于数值的初始值和数值的运算动作,二、 标签,因为break和continue仅仅中断当前循环,而标签会中断循环直到标签所在的地方,标签的定义为 label:iteration。就是说标签的后原创 2017-11-11 12:02:39 · 233 阅读 · 0 评论 -
Thinking in java 读书笔记(一、静态导入,多进制转换API)
因为有java基础的,所以跳过了一些指导的章节,而且记录的也不会很全面,仅仅是记录下不足的java基础。 一、 使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,原创 2017-11-09 14:08:23 · 170 阅读 · 0 评论