java编程思想概括(第一章)---对象引论
对象:拥有行为、状态、标识
将对象作为服务提供者:通过此思想来进行编程
将具体的实现隐藏(通过接口和实现相分离,类内部访问的控制)
复用具体的实现(优先使用组合,后使用继承)
理解is-a跟is-like-a的关系。
多态的实现,可互换的对象(向上转型)java面向对象通过“后期绑定”,当向对象发送消息时,被调用的代码到运行时才能被确定,对存在的方法的参数和返回值执行类型检查(此类语言被称为弱语言),但并不知道确切被执行的代码。
抽象基类和接口:抽象基类的子类必须实现父类的抽象方法,否则继承类仍然是个抽象类。
接口提供了接口与实现的完美分离。
对象的创建、使用和生命周期:java使用堆的内存池来动态地创建对象。生命周期通过垃圾回收器来管理。Garbage collector
Collection与iterator:集合与迭代器,通常被称为容器。通过迭代器来进行统一的选取元素。
采用单根继承结构:这种结构与在堆上创建所有对象,极大地简化了参数传递。所有对象都保证了具有运行时刻类型信息(run time type information),对异常处理及其重要。
向下转型(downcasting)与模板/泛型(template/generic):通过参数化类型来保证向下转型的安全。--C++中通过模板来实现,java通过泛型来实现。
确保正确清楚:java的垃圾回收器来处理内存释放。
垃圾回收与效率和灵活性:java的垃圾回收的不确定性,影响了程序的效率,带来了执行速度前后不一致的问题。
异常处理:java内置了异常处理,强制必须使用它。异常不能被忽略,保证了它必须在某处被处理。
并发:java采用多线程机制来处理并发。通过synchronized关键字来锁定共享资源。
持久性:java的轻量持久性,通过对象序列化(object serialization)或Java数据对象(JDO来实现。
客户端编程/插件plug-in
脚本语言:插件引发了脚本语言的大爆炸