Java的代码和C++的差别大不大?

如题所述

总是来是差别还是很大的。
java和c++就有着比较密切的关系。很多人认为java就是简化版的带虚拟机的c++。这样我们在学习java后再学习c++可以让我们了解到java相对于c++而言做了哪些简化。特别是在面向对象特性方面。(c++可以实现部分函数语言的特征,特别是它有函数指针,可以把函数当做一个对象传递;java这样做的话需要写一个“函数对象”,感觉就不是很直接了。但是意图应该是一致的。抽象性也差不多,同样的功能java可以使用接口来实现。)我们注意到java和c++的过程控制语句是比较相似的。

另一个角度,我们要知道,c++的复杂性是必须的。和c++在工业领域中所处的位置有关系。以及这个语言所代表的特殊的层次和功能。那么java在作出了简化之后,相应的失去了很多的灵活性。但是增加了简单性,便利性。在设计上也比较纯粹一些。但是语言风格比较固定,类库的风格也比较一致。但是这两种语言都是成熟的语言,在工业领域运用多年。

对于java程序员来说,学习C++不是一件容易的事情。但是有助于程序员对程序语言本身的很多机制的理解。特别是面向对象方面。C++比较复杂,而且健壮性弱,需要程序员格外细心。从这个意义上来看,C++如同林黛玉,美丽,脆弱,难以了解,但是却很有才。java如同薛宝钗,美丽大方,会照顾人,懂事,贴心,但是不够灵活。

再换一个角度,c++语言的类库很丰富,而且跨平台性也比较好。运行速度快。灵活。所以我们java程序员,学习c++可以说是必须的。

另外,C++现在并没有退出工业领域,现在还有相当丰富的应用,业务在使用c++。推荐大家可以看一下QT。游戏领域的可以看一下irrlicht。这些都可以作为学习的起点,你就可以做出比较有成就感的东西,对于学习也是一种鼓励。特别是QT。

最后,java在UI上一直饱受诟病。特别是swing,复杂,速度慢。对javaFX期待中。另外java虚拟机上有很多其他语言建议大家可以学习一下scala。

最最后,很多人比较java和c++哪个好。我觉得是没有什么大的意义,无论哪个好,哪个强,我们如果都学会的话,岂不是更好?岂不是对我们更有利?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-09-13
1java和c++都是面向对象编程,2安卓是基于java的嵌入式程序,3java和c++是两门语言,4java入门你看the java language这本书,java和c++在语言上还是有些相似的,都是面向对象编程,c语言是面向过程编程,还是有点区别的。
这样可以么?追问

我以前看过一个Java的代码,全看懂了.和C++的都一样.

第2个回答  2014-09-13
C++不是那么严谨的面向对象,感觉Java和C#更像
第3个回答  2021-01-15
1、Java源码会先经过一次编译,成为中间码,中间码再被解释器解释成机器码。对于Java而言,中间码就是字节码(.class),而解释器在JVM中内置了。
2、C++源码一次编译,直接在编译的过程中链接了,形成了机器码。
3、C++比Java执行速度快,但是Java可以利用JVM跨平台。
4、Java是纯面向对象的语言,所有代码(包括函数、变量)都必须在类中定义。而C++中还有面向过程的东西,比如是全局变量和全局函数。
5、C++中有指针,Java中没有,但是有引用。
6、C++支持多继承,Java中类都是单继承的。但是继承都有传递性,同时Java中的接口是多继承,类对接口的实现也是多实现。
7、C++中,开发需要自己去管理内存,但是Java中JVM有自己的GC机制,虽然有自己的GC机制,但是也会出现OOM和内存泄漏的问题。C++中有析构函数,Java中Object的finalize方法。
8、C++运算符可以重载,但是Java中不可以。同时C++中支持强制自动转型,Java中不行,会出现ClassCastException(类型不匹配)。

基本上就是以上内容,回答中有什么遗漏欢迎网友们补充,希望对您有所帮助。