- 全局变量
Java不能定义程序的全局变量,类中的公共静态的变量就相当于全局变量 - goto
Java不支持goto语句,而是通过try,catch,finally等代替goto - 指针
Java不用指针,用引用 - 内存管理
对于记性不好老忘记释放内存的人非常友好,因为可以自动地对内存进行管理和垃圾回收。 - 数据类型
Java的数据长度是固定的,而C和C++对于不同平台数据类型长度可能变化。 - 类型转换
C/C++语言可以通过指针来进行类型转换,不太安全。但是Java会对对象的处理进行严格的相容性检查 - 头文件
C/C++用头文件,大项目中维护困难,但是Java用import语句导入其它类,防止其对私有成员进行操作 - 结构合联合
C/C++用结构和联合来表示一定的数据结构,但由于成员均为公有,不太安全。而Java不支持结构和联合,把数据结构及其操作都封装进类中。 - 预处理
Java不像C和C++那样支持宏,因为宏定义会给代码可读性带来困难,Java通过final来声明变量,以实现宏定义中广泛使用的常量定义。