java编程学习:从java对象开始并深入学习java引用
对象的引用相当于一个指针,指向所生产的对象
如Person p=new Person();

Person p声明了一个Person类型的引用p,p是引用不是对象.然后用new创建一个内存空间(创建Person类的对象).然后将址址赋给p.那么现在就可以通过p使用Person的对象.如果仅声明了类的引用,没有对其赋值,则p指向一个空对象,不能对其进行操作.
上面的表达式实质上是将右边对象的物理地址传给了左边的引用,使得左边的引用指向了右边的对象。JAVA表面上看起来没有指针, 但它的引用其实质就是一个指针,引用里面存放的并不是对象,而是该对象的物理地址,使得该引用指向了对象。 (引用是放在java的栈里,new创建的对象是放在java的堆里)
另外我们在用"="向对象赋值时,赋的也是引用即对象的地址,那么"="两边的两个引用指向同一个对象.
如Person s=p;那么s也指向上面的new分配的对象.如果需要求s指向不同的对象那么就要用new创建对象并将引用赋给s.
那么我们如何使一个引用指向的对象向另一个引用的对象赋值,但不使一个引用指向另一个对象呢?
我们可以这么做:
class Person{
public x;
public y;
}
Person p=new Person();
Person s=new Person();
p.x=s.x;
p.y=s.y;//我们可以这么赋值
本文来源 我爱IT技术网 http://www.52ij.com/jishu/121.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
