Java中的对象和引用类型,以及引用类型变量
来源:百度知道 编辑:UC知道 时间:2024/05/22 23:46:15
问得很多,又罗嗦,恳请各位大人教教我,谢谢了!!
谢谢1、2楼兄弟的提醒,多动手是王道,3楼的兄弟,您的意思我懂~~呵呵,4楼的兄弟,我看到有书上写,对于基本类型的例子,如int a = 1;int b;b=a此时是直接把a的值也就是地址赋给b(而不是“1”),和你说的不一样啊,就是说基本类型存储在栈中,但是存的还是地址值,这个地址指向java的常量池,究竟哪个是对的??请大家不吝赐教啊,谢谢谢谢~~!!
对于对象类型的数据,引用就相当如对象指针,保存的那个对象的地址,使用的时候根据地址找对象。
对于普通类型的数据,这个引用就是直接存放那个数据了。使用就不用像对象那样去找了。
对象引用是中介,普通数据引用真正的客户。
int a = 1;int b;b=a此时是直接把a的值也就是地址赋给b(而不是“1”)。。 b =a ,是传值不是地址,对象是传地址。怎么证明这点很简单,你改变a的值,如果b变了就是传地址,否则就是值了。
Java中的数据类型:原始类型、引用类型
引用类型类似C语言中的指针,不过在这里叫做地址指向。
引用类型为相同的对象开辟的是同一个地址块,所以才叫引用,当一个值发生变化时其它引用的对象的值也就同时发生变化。原始刚好与其相反,它是为每个对象开辟一块内存地址,所以各不干扰。
基本数据类型包括:byte,short,int,long,float,double,char
引用数据类型:class,interface,array
看样子你是对它们的概念不是很理解,举实例帮你区别一下
对于基本类型举个例子:如int a = 1;int b;b=a此时是直接把a的值也就是1赋给b。(int b时系统在栈中开辟空间,b=a时把1写入)
而对于引用数据类型:class person{};person a = new person();person b = a;此时是将b的地址赋给a(系统为b在栈中开辟一空间存储a的地址,而a和b内的数据都是放在由它们在栈中的地址指向堆中的空间中的)
喔~说了这么多你明白了吗?哈
这些东西 下手写几个简单的小程序慢慢理解一下 你这样搞 很难明白的
猫科动物是类
猫是对象,老虎是对象,豹是对象
明白吗?