(1)java用包代替了命名空间
(2)java没有复制构造器,因为所有自变量都是按引用传递的。
(3)java没有析构函数,变量不存在“作用域”的问题,一个对象的“存在时间”是由对象的存在时间决定的。
(4)Java 中没有virtual 关键字,因为所有非static 方法都肯定会用到动态绑定
(5)Java 不提供多重继承机制(MI)
(6)运行期的类型标识功能与C++极为相似。
(7) Java 采取了不同的异常控制机制,因为此时已经不存在构建器。可添加一个finally 从句,强制执行特定的语句,以便进行必要的清除工作。
(8) Java 具有方法过载的能力,但不允许运算符过载。String 类不能用+和+=运算符连接不同的字串,而且String 表达式使用自动的类型转换,但那是一种特殊的内建情况。
47) Java 通常显得更为健壮,为此采取的手段如下:
■对象句柄初始化成null(一个关键字)
■句柄肯定会得到检查,并在出错时丢弃异常
■所有数组访问都会得到检查,及时发现边界违例情况
■自动垃圾收集,防止出现内存漏洞
■明确、“傻瓜式”的异常控制机制
■为多线程提供了简单的语言支持
■对网络程序片进行字节码校验