C++和java的比较
来源:互联网 发布:java实例编程题题库 编辑:程序博客网 时间:2024/05/18 00:24
从C++转换为了java的学习,Java会有和c++不一样的地方,java不再存在有指针的这一种说法。但是这并非就意味着Java里面就没有了指针这种东西的存在;在java里面,指针被很好地隐藏和封装在了底层区域,所有对于数据的处理都是采用了引用的方式,所以java的程序一般可以说不会有内存泄漏这种事情发生,除非开发者恶意去制造一些混乱。
引用
在Java里面,对于数据的处理我们过多的都是采用引用的方式来调动。例如:
demo是一个类,我们对它进行操作:
demo d1;
这一句代码在c++和java里面所表示的意思是不一样的;
在c++里面,d1是被存储在了某个特殊地址的内存空间里面,并且还包含了这个对象d1的所有数据的存储空间。然而在java里面,程序只是创建了一个保存了存放d1对象地址的存储空间,并不包含有d1数据的存储空间。
赋值
举个例子来解释:
demo d2;
demo d3;
d3=d2;
在c++里面,d3=d2所表示的意思是指将d2对象的所有数据完全拷贝到了d3里面去,然而在java里面,这句语句仅仅是向d3里面拷贝了指向d2的存储地址。
相同的判断
在java和c++里面的==的用法也有些出入,在c++和java里面,==符号都可以用来比较两个数据类型的值是否相等。然而在对于对象类型的比较是,“==”符号的意义就有所不同了。
举个例子来说明:
demo d4;
demo d5=d4;
if(d4==d5)
{
cout<<”they are the same!”;
}
在C++里面,对象之间用“==”进行比较的时候,会考虑到两个对象里面所包含的数据是否相等的情况,然而相同的情况在java里面,则只是会考虑到两个对象的是否都是指同一个对象。在Java里面要对两个对象所包含的数据也进行比较的话要用到object类里面的equals()方法进行判断;例如:
demo d4;
demo d5=d4;
if(d4==d5)
{
System.out.println(“they at the same!”);
}
- Java 和 C/C++ 中的++的比较
- C++、Java和C#的特性比较
- C++、Java和C#的特性比较
- Java与C和C++的比较
- C++、Java和C#的特性比较
- objective-c和java,C++的比较
- object-c和Java的简单比较
- 比较C Sharp和Java
- 比较C Sharp和Java
- java和C++ C比较
- Java 和 Objective C 比较
- java和C++ C比较
- 比较C++, C#和Java
- java和C/C++比较
- Java和c/c++比较
- 比较C#、C++和Java最重要的功能
- java,c,c++ 之间基本数据类型的比较和理解
- 为什么Java不需要sizeof()(和C/C++的比较)
- Scipy的几个简单图像操作
- UVa1583
- 算法竞赛一些基础问题的复习(java) 1(大水仙花数、韩信点兵、倒三角、排列)
- 3.1入门模拟B1018. 锤子剪刀布 (20)
- 第四十讲项目8-谁是小偷
- C++和java的比较
- ListView结合CheckBox实现多选与记录
- GitHub收藏
- 逆置链表以及逆序打印链表
- Toast的基本使用
- 重训你应该知道的
- 在安卓(手机)上运行 Ubuntu (Linux)
- Eclipse下mybatis配置文件自动提示
- 【ASP.NET】 MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别