java 对象与对象引用

来源:互联网 发布:2017中国经济数据 编辑:程序博客网 时间:2024/06/05 08:09

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">首先看段代码:</span>

import java.awt.Point;class RefTester{public static void main(String[] arguments){Point pt1,pt2;pt1 = new Point(100,100);pt2 = pt1;pt1.x=200;pt1.y=200;System.out.println("Point1:" + pt1.x + "," + pt1.y);System.out.println("Point2:" + pt2.x + "," + pt2.y);}}

输出:

Point1:200,200

Point2:200,200


为什么Point2输出也是200,200),那是因为在'pt2 = pt1'这里,pt2引用了pt1的对象,它们都是引用的同一个对象,在pt2引用一个新的对象之前,它都是和pt1引用的同一个对象,所以输出始终的一样。


再看代码:

Person person = new Person("张三");   这里person是指向创建对象的引用,张三是对象,为什么?


Person person;

person = new Person("张三");

这里的两行代码与上面的完全一样,只有在person是引用的时候,它才能通过new创建新的对象 "张三"

0 0