reference不是指针,但是类似于指针。reference根指针一样的地方在于他们都会指向一个实际的对象,通过对reference的操作,实现对对象的操作。但是reference根指针不同在于:指针仅仅是纪录了指向对象的实际位置,并不会纪录这个对象的相关信息,比如指向对象的类型,占用内存大小等信息。但是reference则会纪录这些信息,所以在java中进行类型转换的时候,必须要正确。例如:A类型的对象转换成B类型时,java要检查阿A型的对象是否与reference纪录的对象类型一致,如果不一致,则会抛出异常。而指针则没有这种功能。这样做起来比较安全。
解决方案 »
- java.io.FileNotFoundException(拒绝访问),在线等答案!!!!
- jmf求助
- 多线程下载速度反而更慢
- 制作简单的万年历,几个疑惑
- 请大家推荐一本JBUILDER+SQL SERVER 2000编程的书。
- 初学者的问题,是不是在一个*.java文件里面,public class必须与文件名相同?
- 用 DataOutputStream 能否往文件中写入中文字符??急,在线等。。。
- 关于Java学习或技巧的*.chm,散分了:)
- 有什么办法自己用java编写一个数据库读写的文件呀?
- Please help me!!!!
- 菜鸟问一个关于swing中Listener的问提,高手快来
- 各位帮忙看看:请问有什么反编译工具能编译看到软件的原代码啊?
内存区域。Reference---受到限制的指针,不能运算的指针,可以指向其他对象,但是永远只能指向对象
的内存首地址。Handle---句柄,句柄是WONDOWS用来标识被应用程序所建立或使用的对象的唯一整
数。是WINDOWS为了实现封装性和安全性,把对象的真实的地址进行转化以后得到的
一个32位DWORD。是微软包装过的指针。
只是他不能进行运算
而你说得handle是句柄,但在java中没有这个概念
你不要用他和别的比较来理解,这样容易混,你只需当前理解就可!
现在我来给你讲一讲reference!
他是对象的引址,他指向你当前的对象,如果把对象比喻成电视的话,他就是遥控器,他操纵对象的行为与属性!
我不赞成hogcheng(老驴) 的看法,他说的是与早先的C来比较,可能有些不同,但与C++来比较,
reference就可叫指针。C++也是面向对象的!!!