0.注意
一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。因此,可以多个对象变量引用同一个对象。
在java中,任何对象变量的值都是对存储在另一个地方的一个对象的引用。new操作符的返回值也是一个引用。下列语句:
Date deadline = new Date();
有两部分。表达式new Date()构造了一个Date类型的对象,并且它的值是对新创建对象的引用,这个引用存储在变量deadline中。
1.对象变量
下面定义一个对象变量deadline,它可以引用Date类型的对象。但是,变量deadline并不是一个对象,实际上也没有引用对象。此时,不能将任何Date方法应用到这个对象变量上。
import java.util.Date;
Date deadline;
//此时dateline还未引用任何对象,调用Date类的方法是错误。
String s = deadline.toString();//错误。
2.对象
必须首先初始化变量deadline,以下有两种方法。
(1)用新构造的对象初始化变量deadline。
deadline = new Date();
(2)用变量deadline引用一个已存在的对象。
birthday = new Date();
daedline = birthday;//此时,这两个变量引用同一个对象。
3.当对象变量设为null
当对象变量设置为null时,表明这个对象变量目前没有引用任何对象。此时,如果将一个方法应用到一个值为null的对象上,那么就会产生运行时错误。
deadline = null;
String s = deadline.toString();//runtime error!