Java教程

C++与java之间的区别

本文主要是介绍C++与java之间的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!


java与C++的区别
C++ java
支持编程的类型
允许面向过程编程和面向对象的编程 支持面向对象的编程模型
执行速度 C++比java快。原因在编译过程,对象的创建,检查机制等问题上可以看到。
编译过程
C++源码一次编译,直接在编译的过程中链接了,形成了机器码。

Java源码会先经过一次编译,成为中间码,中间码再被解释器解释成机器码。

java比C++多一层字节码的处理,这样可以保证在不同的机器上运行,所以比C++慢一点。

对象的创建 C++中,很多局部变量和对象的创建都是保存在栈内存中的,可以直接访问,所以效率较java而言高。 在java中一切皆对象(这里忽略基本类型的情况),而对象的创建时通过new实现的,就是说对象的本身都是保存在堆内存的,栈内存中只保存了一个对象的引用。这样在获得对象的时候实际上可以认为是间接寻址,速度就会比较慢。
检查机制 C++程序中,这些检查都是需要程序员自己去检查判断和处理的,速度是上来了,在安全性和稳定性上就不如java了。 java虚拟机本身在运行时对程序进行很多的检查,比如检查数组越界,检查是否空指针,检查对象是否需要回收等等,充分地保证了java程序的安全和稳定性,但是用来相对C++较多的时间来检查了。
多继承 C++提供多继承,关键字virtual用于在多继承期间解决出现的问题

java中类都是单继承的

但是继承都有传递性,同时Java中的接口是多继承,类对接口的实现也是多实现。

安全性与稳定性 程序员检查错误,相对低
系统检查,相对高
I/O机制

I/O机制使用cout,cin语句。

cout<<x<<endl;

cin<<x;

I/O机制复杂,因为一次只读取一个字节。

system.in

system.out.printlin();

与其他语言的兼容性 除了一些特殊情况以外,与C语言兼容 没有向后兼容任何以前的语言。语法受C/C++的影响
范围解析运算符 C++具有范围解析运算符(:),用于定义类外部的方法,并从具有相同名称的本地变量也存在的范围内访问全局变量
java没有范围解析运算符(:),方法定义必须在类中进行。
键入 原始类型与对象类型保持一致 原始和对象类型不同
结构体
支持结构体 不支持结构体


这篇关于C++与java之间的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!