全部的编程语言都提供抽象的机制,人们所能解决的问题的复杂性直接取决于抽象的类型和质量。 汇编是对底层机器语言的轻微抽象。 “命令式”语言(C、BASIC等)是对汇编语言的抽象。 可是这些都是解决问题必须基于计算机的结构,而不是基于要解决问题的结构来考虑的。java
Smalltalk的五个基本特性,面 向对象的程序设计方式:编程
Booch对对象提出了一个更加简洁的描述:对象具备状态、行为和标识。服务器
建立抽象的数据类型是面向对象程序设计的基本概念之一。全部的面向对象的设计语言都使用class这个关键字表示数据类型。 接口肯定了对某一特定对象所能发出的请求。并发
将对象看做是服务提供者还有一个附带的好处:它有助于提升对象的内聚性编程语言
java用public、private、protected设计
使用一个类的一个对象,建立成员对象。使用现有类合成新的类,这种概念叫作组合,动态产生 就叫聚合。 就想汽车拥有引擎同样。对象
源类(基类、超类或者父类)发生变化 相应的副本(导出类、继承类或者子类)也发生变化。 几何形 -- 圆形 、正方形继承
一个圆形就是一个几何形状接口
面向对象程序设计语言使用了后期绑定的概念。当面向对象发送消息时、被调用的代码直到运行时才能肯定。 java 的 动态绑定是默认行为。 把要导出的类看作它的基类的过程称为向上转型,生命周期
单继承结构的好处:
list set map
泛型
java彻底采用了动态内存分配的方式。 java 的垃圾回收器被设计用来处理内存释放的问题。垃圾回收器知道对象什么时候再也不被使用,并自动释放对象占用的内存,这一点同全部对象都是继承基类Object以及只能以一种方式建立对象这两个特性结合起来的。
java一开始就内置了异常处理,并且强制你必须使用它。
java的并发是内置于语言中的。