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