1、C++和Java在语法上相似
2、两者设计的目标不同
Java设计者的目的是让C++开发者很容易学习Java
C++设计者更关注与C的向下兼容
3、Java被编译成字节码,在虚拟机上运行
C++被编译成本地机器码
所以,C++更快,但Java的可移植性、安全性则表现更好。
4、C++是C的超集,保留了程序员控制的内存管理、指针和预处理,与C兼容
Java去掉了容易出错的部分,采用垃圾回收器代替程序员释放内容,舍弃了运算符重载和多重继承。Java利用接口实现有限制的多重继承。
5、Java所有对象按引用传递,C++缺省为按值传递对象
6、Java所有方法都是虚方法,运行时根据对象的类型选择方法的实现;
C++需要显示声明为virtual
7、存在遗留C代码,或者对速度要求高时,选择C++
强调可移植性、安全性和开发速度时,选择Java
转自程序员面试攻略
2、两者设计的目标不同
Java设计者的目的是让C++开发者很容易学习Java
C++设计者更关注与C的向下兼容
3、Java被编译成字节码,在虚拟机上运行
C++被编译成本地机器码
所以,C++更快,但Java的可移植性、安全性则表现更好。
4、C++是C的超集,保留了程序员控制的内存管理、指针和预处理,与C兼容
Java去掉了容易出错的部分,采用垃圾回收器代替程序员释放内容,舍弃了运算符重载和多重继承。Java利用接口实现有限制的多重继承。
5、Java所有对象按引用传递,C++缺省为按值传递对象
6、Java所有方法都是虚方法,运行时根据对象的类型选择方法的实现;
C++需要显示声明为virtual
7、存在遗留C代码,或者对速度要求高时,选择C++
强调可移植性、安全性和开发速度时,选择Java
转自程序员面试攻略