Thinking in Java 第一章“对象引论”要点总结

1.Java的根基

2.每个对象都是“服务提供者”(Service Provider)

3.后期绑定“late binding”

https://www.cnblogs.com/jstarseven/articles/4631586.html

(静态)前期绑定:

                   1.private:private方法不能被继承,所以直接和类型绑定‘

                   2.final:虽然final可以被继承,但是它无法被修改,所以还是可以直接绑定

                  3.static:当子类对象上转型为父类对象时,不论子类中有没有定义这个静态方法,该对象都会使用父类中的静态方法。

4.单根继承结构

1:参数传递,因为往往写函数时不明确要传入的类是怎样的,所以可以这样:

public void function(Object obj)

也就是在参数传入的是一个父类,就不用说在编写函数时非得明确传入的是哪个子类了。因为传入的是父类,所以如果想要使用子类的方法,那么就需要时用到强制类型转换,将父类转化为子类。下面有我写的一个示例。

2:每个类都具有了基础的功能,也就是object类的那些功能,比如 ToString() , GetType()。这点很容易理解,有个回答者还说到,你可以去extend Object类的功能,那其他所有类都具有更强大的基础功能。

3:方便垃圾回收机制的实现,其实就是方便找到垃圾所在的位置,从根类object开始一层层往下找。这个特点偏向于语言开发者~

4:方便异常处理,写异常函数的时候并不知道要抛的是哪个子类的异常,如果写明了是抛哪个子类的异常,那别的子类就用不了这个异常函数了,跟参数传递差不多的道理,所以直接抛一个父类的异常……这个可能描述得有差错,尚待讨论。

5:其实说到底,语言这样设计的目的无他,就是为了代码复用或者方便写代码或者带来更好的程序执行效率。

5.并发与多线程

6.持久性:序列化 serialization 7.web编程