background image

3.数据类型及类

 

Java 是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都

作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的

特点和行为。而 c++允许将函数和变量定义为全局的。此外,Java 中取消了 c/c++中的结构和联合,消

除了不必要的麻烦。

 

4.自动内存管理

 

Java 程序中所有的对象都是用 new 操作符建立在内存堆栈上,这个操作符类似于 c++的 new 操作符。下

面的语句由一个建立了一个类 Read 的对象,然后调用该对象的 work 方法:

 

Read r=new Read();

 

r.work();

 

语句 Read r=new Read();在堆栈结构上建立了一个 Read 的实例。Java 自动进行无用内存回收操作,

不需要程序员进行删除。而 c 十十中必须由程序贝释放内存资源,增加了程序设计者的负扔。Java 中当

一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。JAVA 里无用内存回收程序是以线程

方式在后台运行的,利用空闲时间工作。

 

5.操作符重载

 

Java 不支持操作符重载。操作符重载被认为是 c 十十的突出特征,在 Java 中虽然类大体上可以实现这样

的功能,但操作符重载的方便性仍然丢失了不少。Java 语言不支持操作符重载是为了保持 Java 语言尽可

能简单。

 

6.预处理功能

 

Java 不支持预处理功能。c/c 十十在编译过程中都有一个预编泽阶段,即众所周知的预处理器。预处理

器为开发人员提供了方便,但增加丁编译的复杂性。JAVA 虚拟机没有预处理器,但它提供的引入语句

(import)与 c 十十预处理器的功能类似。

 

7. Java 不支持缺省函数参数,而 c 十十支持

 

在 c 中,代码组织在函数中,函数可以访问程序的全局变量。c 十十增加了类,提供了类算法,该算法是

与类相连的函数,c 十十类方法与 Java 类方法十分相似,然而,由于 c 十十仍然支持 c,所以不能阻止 c

十十开发人员使用函数,结果函数和方法混合使用使得程序比较混乱。

 

Java 没有函数,作为一个比 c 十十更纯的面向对象的语言,Java 强迫开发人员把所有例行程序包括在类

中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。