1、访问控制的两个原因:
一是让客户端程序员无法触及他们不能触及的地方,也就是我们常说的私有领域
二是允许类设计者在不改变接口的情况下,改变接口的具体实现。
java的三个关键字:public,protected,private实现了访问控制,如果没有这三个关键字修饰,则为默认访问控制,即包访问控制。
2、两种方法使基类和导出类产生差异:
一是直接添加新的方法
二是覆盖原有的方法
3、当导出类支持覆盖基类的方法,可以完全替代基类时,我们称之为纯粹替代。此种关系用“是一个”描述比较准确
4、当导出类在基类中添加新的接口时,我们用“像是一个”来描述这种关系较为恰当。
5、在java中,默认都是后期绑定。而在C++中,需要通过virtual关键字来显式的指定其为后期绑定,否则默认为前期绑定。
6、将导出类看做是基类来使用,这一过程称之为“向上转型”。
7、java中是单根继承结构:
在单根继承结构中,所有的对象都具有一个共同的结构
保证所有对象都具备某些功能
使垃圾回收期的实现变得容易血多。
8、为什么要设计出很多种容器?
第一,不同的容器提供了不同类型的接口和外部行为
第二,不同的容器对于某些操作具有不同的效率。
9、关于垃圾回收机制:
在java中,从本质上说,对象是没有作用域的,而引用是有作用域的。最简单的垃圾回收算法——引用计数法,即计算每个对象的引用存活数量,当存货数量为0时,即启动垃圾回收机制,回收对象。