对象
要想使用对象,就必须首先构造对象,并指定其初始状态。然后,对对象应用方法。
在Java程序设计语言中,使用构造器(constructor)构造新实例。构造器是一种特殊的方法,用来构造并初始化对象。
构造器的名字应该与类名相同。要想构造一个对象,需要在构造器前面加上new操作符。如:
new Date();
如果需要的话,也可以将这个对象传递给一个方法,如:
System.out.println(new Date());
也可以将一个方法应用于刚刚创建的对象,如:
String s = new Date().toString();
希望构造对象可以多次使用,需要将此对象存放在一个变量中:
Date birthday = new Date();
对象变量
在对象与对象变量之间存在着一个重要的区别。如:
Date deadline;
定义了一个对象变量deadline,它可以引用Date类型的对象,但要注意deadline不是一个对象,实际上也没有引用对象。此时,不能将任何Date方法应用于这个变量上,如:
s = deadline.toString();
将产生编译错误。
也可以让这个对象引用一个已存在的对象:
deadline = birthday;
一定要注意:一个对象变量并没有实际包含一个对象,而仅仅引用一个对象。
在Java中,任何对象变量的值都是存储在另一个地方的一个对象的引用。new操作的返回值也是一个引用。如:Date deadline = new Date();
有两个部分。表达式new Date()构造了一个Date()类型的对象,并且它的值是对新创建对象的引用。这个引用存储在变量deadline中。
可以显式的将对象变量设置为null,表明这个对象变量目前没有引用任何对象。
deadline = null;
如果将一个方法应用于一个值为null的对象上,那么就会产生运行时错误。
birthday = null;
String s = birthday.toString();
局部变量不会自动地初始化为null,而必须通过调用new或将它们设置为null进行初始化。