C++和Java的区别:
(面试问到这个问题,特来总结一下 根据C++Prime和Think in Java两本书总结而来)
尽管Java是基于C++的的,但是相比之下,Java是一种更纯粹的面向对象程序设计语言。在Java中,一切都被视为对象。
1. C++创建对象之后,需要再使用完将其调用delete方法将其销毁;Java有垃圾回收机制,用来监视new出来的所有对象,辨别不会再被引用的对象,然后释放内存空间。
2. 作用域(C、C++、Java的作用域由花括号的位置决定):
但是以下代码在C和C++中是合法的,在Java中编译器会报告变量已定义。因为C和C++会将较大作用域的变量隐藏起来,但是Java不允许。
{
int x = 12;
{
int x = 96;
}
}
基本成员的默认值
当变量作为类的成员使用时,Java才确保给定默认值,以确保那些基本类型的成员变量得到初始化,但是C++没有此功能。而对于局部变量,C++编译器会对其予以警告,Java则会视为错误。Java不可以将一个非布尔值当做布尔值在逻辑表达式中使用,C++却可以。
在C++中表达式的值为0则为假,非0则为真。
例如:if(1){
}移位操作符
Java中新增了一种“无符号”右移位操作符(>
版权声明:本文为drhrht原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。