java和C++都是面向对象的编程语言,但它们之间也存在着不同。在Java中,一切都是一种抗议(从Java.lang.Object获得一切时,命令的单根链)。在C++中,没有这样的命令根链。C++既支持过程编程,也支持面向对象的编程;通过这种方式,它被称为混合编程。对java感兴趣的同学可以参加千锋重庆java学习来获得更一步的了解和认识。

java与C++的区别

1.指针

Java不支持指针、模板、指针重载、联合等。Java方言的启动者最初说“没有指针!”然而,当许多开发人员谈到如何在没有指针的情况下运行时,启动者开始说“受限指针”。Java支持它所称的“引用”引用的行为相当于C++语言中的指针。然而,您不能在Java中对指针执行数字运算。引用有类型,它们是安全组成的。这些引用不能被破译为原始地址,也不允许进行危险的更改。C++支持指针、结构、联合、模板、运算符重载或指针运算。

2.支持析构函数

Java不支持析构函数,它有一个自动垃圾收集系统。C++支持析构函数,当一个对象被销毁时,它会被调用。

3.条件编译和包含

Java不支持条件编译和包含。C++支持条件编译和包含。

4.螺纹支架

Java内置了Java中的线程支持。Java中有一个thread类,inherit可以创建一个新的线程来重写run方法。C++没有内置的支持,它依赖于第三方库。

Java不支持默认参数,Java中没有(::),策略定义应该可靠地发生在类内部,因此也不需要确定范围。C++支持的默认参数,C++具有范围解析(::),它利用和表征一个类外的策略,从一个邻域变量附加存在类似的名称的程度内获得一个世界范围内的变量。

6.转到语句

Java中没有goto语句。关键字const和goto是保留的,即使它们没有被使用。C++有goto功能,尽管如此,使用goto解释并不是一个很好的实践。


7.多重继承

java不提供多个继承,至少在C++中没有这样的意义。C++支持继承,关键字virtual可用于确定各种遗留问题(如果有)中的歧义。


8.异常处理


Java异常处理是不同的,因为没有析构函数。在Java中,try/catch必须定义函数是否声明可能引发异常。在C++中,不管容量是否抛出豁免,都可以排除尝试/获取。

9.方法重载和操作符重载

Java有方法重载,但没有操作符重载,String类确实使用+和+=运算符连接字符串,字符串表达式使用自动类型转换,但这是一种特殊的内置情况。C++支持技术重载和管理员过载。

10.文件注释

Java内置了对文档注释的支持(/** ...*/);因此,Java源文件可以包含自己的文档,这些文档由单独的工具(通常是Javadoc文档)读取并重新格式化为HTML。这有助于以轻松的方式维护文档。C++不支持文档注释。

11.平台无关

Java在很大程度上是解释的,因此与平台无关。C++创建抗议代码,类似的代码可能无法在不同的阶段运行。