Thinking in Java 第一章 对象引论
这一章主要介绍了面向对象的编程思想、java是如何体现面向对象的开发编程的。
抽象过程:将所有的事物都抽象为对象,对象包含属性和方法,通过向对象发送消息的方式使对象完成相应的动作。
每个对象都有一个接口:接口定义了可以向对象发送什么样的消息,完成什么样的动作。
每个对象都提供服务:即接受到消息以后完成什么样的动作。
被隐藏的具体实现:通过关键字public、private、protected和默认属性实现具体实现的隐藏。private只能累得对象可以调用,protected继承的对象可以调用,默认包内对象可以调用,public谁都可以调用。
复用具体实现:可以通过两种方法实现,集合(has a)和继承(is a || is like a)。集合的方法是在新类中包含想要复用的一个对象,可以调用具体实现。继承的方法使用extends关键字,继承类的所有方法和属性。继承会带来代码的冗余,如果能用集合的方法首先考虑采用集合的方法。
多态:向上转型,即实现时使用基类(依据可以发送给基类的消息一定可以发送给子类,编译器后期绑定)。
抽象基类和接口:抽象的方法使用关键字abstract,继承时必须实现。interface都是抽象的方法没有具体实现。使用关键字implements
对象的创建、使用和生命周期:java对象的创建在堆上分配空间,对象的大小不定,生命周期不定。java的垃圾回收会自动判断对象的生命周期是否结束。
异常处理:java优于C++的一个方面,异常必须被处理。
并发:多线程
java为什么成功:
1. 系统易于表达易于理解,面向对象的编程所有事物都看作对象。
2. 通过类库获得最大的支持
3. 错误处理,异常处理机制