作为一只小弱,今天了解了一些有关C++/Java的知识,特地来mark一下。之前一直有个疑问,C++/Java都是面向对象的高级语言,两者有神马不同捏?(抱歉出处不明)
C++写好的程序只需要进行编译链接,就可以在专用的平台上运行。Java一次编译后,就可以随处运行,但是需要运行在Java虚拟机平台上。也就是说Java相比C++,与机器之间的交流多了一层,虽然可移植性强,但效率自然就比C++要低了。
由于Java运行在Java虚拟机上,因此不需要自己管理内存,而C++则需要自己管理内存。相比C++,Java入门要快很多,但是C++在底层软件开发方面有着自己的不可替代性,例如:嵌入式开发、驱动程序开发、操作系统内核等等。
C++与Java都是面向的编程语言,但C++并不属于纯面向对象编程,它还继承了C语言的结构化编程风格。而Java则是一种完全面向对象语言,用Java编程,所有的代码都被封装在类中,main函数也被封装在一个public类中,体现了Java一切皆对象的设计理念。C++中的main函数不属于任何类,从这个意义上说C++不算是面向对象而是面向过程,也就是说C++是一种介于面向对象和结构化编程之间的过渡性语言。