标签:
众所周知,C++和Java是当今两种主流的面向对象语言,对于两种语言的优劣比较,每个人都有自己不同的看法,比较一致的看法是C++是编译型高级语言而Java是解释型的,因此C++快速而Java兼容性好,C++适合底层控制而Java长于网络编程。不管怎么说,可以肯定的一点是两种语言还会在相当长的一段时间内并存下去,这要求我们在精通两者其一的同时,对另一个也应该至少清楚地掌握其框架结构。因为Java是从C++衍生出来的,所以两种语言在基本语法和概念上都有很多相似之处,然而它们之间也存在一些不可忽视的差异,本文试图通过比较其中在面向对象的基本概念上的一些区别,来谈一谈两者的特点。
因此对两种语言的总体比较可以得出的结论是:C++更加灵活而Java更加严谨。
(3)Java中没有作用域范围运算符“::”。Java利用“.”做所有的事情,但可以不用考虑它,因为只能在一个类里定义元素。即使那些方法定义,也必须在一个类的内部,所以根本没有必要指定作用域的范围。而对于static方法的调用,也是通过使用ClassName.methodName()就可以了。
finalize()方法与C++中的析构函数(Destructor)有类似的地方,但是finalize()是由垃圾收集器调用的,而且只负责释放“资源”(如打开的文件、套接字、端口、URL等等)。如需在一个特定的地点做某样事情,必须创建一个特殊的方法,并调用它,不能依赖finalize()。而在另一方面,C++中的所有对象都会(或者说“应该”)破坏,但并非Java中的所有对象都会被当作“垃圾”收集掉。由于Java不支持析构函数的概念,所以在必要的时候,必须谨慎地创建一个清除方法。而且针对类内的基础类以及成员对象,需要明确调用所有清除方法。
标签:
原文地址:http://blog.csdn.net/sxhlovehmm/article/details/45200991