一. OOP的特点
(1) 万物皆为对象;
(2) 程序是对象的集合,他们通过发送信息来告诉彼此所要做的;
(3) 每一个对象都有自己的由其它对象所构成的存储;
(4) 每一个对象都拥有它的类型;
(5) 某一特定类型的对象都能够接收相同的消息;
二. Java比C++简单?
(1) Java有垃圾回收器, 不用手动销毁对象;
(2) Java使用单根继承;
(3) Java仅仅能以一种方式创建对象(在堆上创建);
三. 数据存储
(1) 寄存器: 速度最快, 数量有限, 它位于CPU内部, 但我们不能直接控制它。在C,C++中同意你向编译器建议寄存器的分配方式。
(2) 堆栈: 存放基本类型的数据和对象的引用, 但对象本身不存放在栈中,而是存放在堆中。
(3) 堆: 存放用new产生的对象, 速度比分配栈要慢一些。
(4) 静态存储: 固定的一块存储区域, 静态存储里面的数据在整个程序执行期间都能訪问到。
(5) 非RAM: 对象被转化成某种能保存在其它介质上的东西, 要用的时候又能在内存里重建。
四. "==" 和 equals
(1) == 用于推断引用对象的内存地址是否同样。
(2) equals比較的也是地址, 可是假设你重写了equals方法, 那么它就能够比較对象的内容。
五. 关于sizeof
C和C++的sizeof()用于获取数据须要占用多少字节的内存, 之所以须要sizeof是考虑到平台移植, 由于C和C++同样
的数据类型在不同的机器上占用的内存长度不一样; 而Java不须要sizeof, 由于Java的数据类型在不同的平台上占用字节是一样的,
Java是跨平台的。