Java广泛应用于企业级web开发和移动应用开发,是一种解释型语言。源码首先翻译成二进制的中间代码,然后由解释器解释执行。
- 跨平台性好,但速度较慢;
- 仅支持类的单继承,需要利用接口来实现多继承;
- 不需要主动参与内存清理。没有析构函数;
- 字节长度与平台无关;
- 只能用面向对象的规范编程;
- 只支持值传递。
C++主要是用来设计系统级应用开发,是一种编译型语言,可直接编译成机器码,在机器上运行。
- 跨平台性较差,效率高;
- 支持多继承;
- 需要主动管理内存释放;
- 有析构函数;
- 字节长度与代码运行环境有关;
- 可以采用面向对象和面向过程的规范编程;
- 支持指针、引用、值传递;
- 相对于C,扩展了静态的面向对象支持,范型异常,以及一个包含支持范型的容器和算法的标准库STL。