大三寒假开始学习ThinkingInJava,将会对书中的各个知识点及重点进行总结,持续在优快云上进行发表,一是希望与同学者相互讨论学习,二是有不足的地方希望大神前来指正赐教。
第一章 对象导论
这一章尽管没有什么代码例题,但是我觉得这一章是对Java核心的讲述,是Java编程世界的敲门砖,极为重要。这一章节主要讲述了OOP(面对对象程序设计)的概念。并不断与C进行比较,试图让入门者能够察觉的OOP的不凡之处。
1.1 抽象过程
这里重点就是面向对象设计的五个特征了,一是万物皆对象,二是程序是对象的集合,它们通过发送消息来告诉彼此所想要的。三是每个对象都有自己的由其他对象所构成的存储。四是每个对象都拥有其类型,五是某一特定类型的所有对象都可以接受同样的消息。
1.2 每个对象都有一个接口
这个比较好理解,接口就是用来让别人进行调用的一个方法,比如类是Light,那么接口就包括on(),off()。表示着灯的关闭和开启。
1.3 每个对象都提供服务
将对象视为服务提供者,程序本身将向用户提供服务,通过调用其他对象提供的服务来实现这个目的。可以想象对自己说,如果
我将问题从表象抽取出来,那么什么样的对象可以马上解决我的问题呢?不断持续这样做,那么最终有两个可能,一个是去写出某
个对象去实现服务,另一个就是那个对象已经存在了。这是将问题分解成对象集合的一种合理方式。
1.4 被隐藏的具体实现
将程序员分为类开发者和客户端程序员,让客户端程序员无法触及到不应该触及到的部分。
类有着public和private以及protect的关键字。还有一种默认关键字,被成为包访问权限。
1.5 复用具体实现
当类创建并测试完,已经算是一个有用的代码单元了。可以将此类的对象加入到另一个类中或者将类放入另一个类中进行使用,类似将引擎和汽车的关系。
1.6 继承
这是基类与导出类的关系。
1.7 伴随多态的可互换对象
注意后期绑定的概念。以及Java语言默认的动态方法绑定的方式。
1.8 单根继承结构
Java中所有的类都继承自Object类
1.9容器
注意Java的参数化类型,即ArrayList<Shape> shapes=new ArrayList<Shape>(),其中尖括号中Shape就是一个参数类型
1.10 对象的创建和生命期
注意Java的动态内存分配方式和堆的概念。
1.11 异常处理:处理错误
Java中内置了异常处理,并且强制性的去使用。
1.12 并发编程
java的并发也是内置的。
1.13 Java与Internet
内容较多,主要是Java的applet。
第二章 一切都是对象
这句话是不是和眼熟,对,Linux中也有这一重要概念,这和Linux的皆为对象也是相似的。
2.1 用引用操纵对象
在定义String s的时候,s其实是对string类型的一个引用,像是一个遥控器。
2.2 必须由你创建所有的对象
创建引用之后应该去做的就是创建一个对象与之相联系,new 的意思就是给我一个新对象。
其中基本类型比较特殊,要注意的是Java基本类型空间大小是一定的,而且具有默认值。以及Java的自动包装能包装所有的基本类型为包装器类型。
Java的两个高精度类型。
Java数组会确保强制性的初始化。默认初始化为0
2.3 永远不需要销毁对象
Java强大的的垃圾回收器。
2.4 创建新的数据类型:类
类中包含,字段(数据成员)和方法(函数)。
注意类的基本成员也会自动进行初始化。布尔为false,其他为0,char为空格。
2.5 方法参数返回值
方法名和参数列表合称 方法签名,有着唯一标示。
2.7 Java程序
注意java.lang会自动导入每一个java程序。其他要使用import
2.9 编码风格
驼峰风格。注意类和其他内容的区别。然后就是常量,全大写。
这两张章都是概念性的东西,但是没有什么比较难以接受的,但是这是之后学习的基础部分,所以还是要多看看书的。
http://download.youkuaiyun.com/download/vv___/10240873 这是第二章习题答案,注意注释部分没有写