第二次看java编程思想,感觉和第一次大有不同,记录一下学习内容。第一次发博客,如有错误,望指出,感谢大家。
对象导论(一):
1.万物皆为对象。
2.程序是对象的集合,它们通过发送消息来通知彼此。
3.每个对象都有自己的由其他对象所构成的存储。
4.每个对象都拥有其类型。
5.某一个特定类型的所有对象都可以接收同样的信息。
6.每个对象都提供服务,相当于服务提供者。
7.java的封装机制:private 只能本类访问 protected 继承类也可以访问 default 同一个包可以访问 public 所有的都能访问
目的是防止程序脆弱的部分被客户端程序员(程序员分为类创建者和客户端程序员)改动。
8.面向对象的核心优势是代码的复用
9.java是单继承的,重写父类的所有方法叫覆盖。
10.java在编译时不指定执行类型,编译器不会产生传统意义上的函数调用,也就是说不做前期绑定。java的是后期绑定,在运行时才知道具体的类型是啥,才知道具体执行哪段代码,这是多态的前提。
11.java是单根继承结构,所有类的基类都是Object,单继承结构简化了java虚拟机回收垃圾的操作。
12.参数化类型机制(泛型机制)减少程序员向下转型的操作,避免了类似的bug出现。(向下转型是有风险的)。泛型是javaSE5之后才有的 。
13.java使用动态内存分配的方式来创建对象和管理对象,只有在相关代码在执行的那一刻才清楚需要多少个对象,对象的类型是什么 ,生命周期如何。动态创建方式基于一个逻辑假设:对象趋向于变得复杂,所以查找或释放存储空间的开销不会对对象的创建造成重大冲击。
14.java的回收机制解决了内存泄漏的问题,所以java比c++简单。java回收机制知道对象不变使用时会自动将不用的对象回收掉。