1. 抽象
对象具有状态、行为和标识
2. 接口
接口确定了对某一特定对象所能发出的请求
3. 每个对象都提供服务
每个对象都能完成一项任务
4. 隐藏实现
使用访问控制符
5. 复用类
组合与继承(继承对父类的差异,一种添加新方法,一种实现覆盖overriding)
6. 多态
JVM采用后期绑定机制,处理时,会采用向上转型
7. 单根继承
保证所有的对象都具备某些功能,且使垃圾回收器容易实现
8. 容器
List、Map、Set、Queue、Tree、Stack、Heap
9. 泛型
10. 对象的创建和生命期
动态内存分配,在堆栈上创建对象,可以被自动销毁
11. 异常处理
12. 并发编程