C++编程语言和Java之间有许多区别和相似之处。 C++和Java之间的最大差异如下列表所示:
对比项 | C++ | Java |
---|---|---|
平台无关 | C++是平台相关的 | Java是平台无关的 |
主要用于 | C++主要用于系统编程 | Java主要用于应用程序编程。它广泛应用于窗口,基于Web,企业和移动应用 |
Goto | C++支持goto语句 | Java不支持goto语句 |
多继承 | C++支持多重继承 | Java不支持通过类的多继承,它可以通过java中的接口实现 |
操作符重载 | C++支持操作符重载 | Java不支持运算符重载 |
指针 | C++支持指针,可以在C++中编写指针的程序 | Java在内部支持指针。但是不能在java中编写指针程序。这意味着在Java中限制了指针支持 |
编译器和解释器 | C++仅使用编译器 | Java使用编译器和解释器 |
按值调用和通过引用调用 | C++支持按值调用和按引用调用 | Java仅支持按值调用,在java中没有通过引用调用。 |
结构体和联合体 | C++支持结构体和联合体 | Java不支持结构体和联合体 |
线程支持 | C++没有内置的线程支持。它依赖于第三方库来支持线程。 | Java有内置线程支持。 |
文档注释 | C++不支持文档注释 | Java支持文档注释,可使用(/** ... */ )来创建Java源代码的文档。 |
virtual 关键字 |
C++支持virtual 关键字,这样可以用于决定是否覆盖一个函数。 |
Java没有virtual 关键字。默认情况下,可以覆盖所有非静态方法。换句话说,非静态方法默认是虚拟的。 |
无符号右移>>> |
C++不支持>>> 运算符 |
Java支持无符号右移>>> 运算符,在顶部为负数填充零。对于正数,它的工作原理与>> 运算符相同。 |
继承树 | C++总是创建一个新的继承树 | Java总是使用单继承树,因为所有类都是Java类中的Object类的子类。Object类是java中的继承树的根。 |