对象的特性
对象的创建
使用new
操作符调用构造方法就可以创建一个对象。
创建一个Test
类对象:
Test test1 = new Test();
Test test2 = new Test("a");
特殊:String
类不需要new
就可以创建一个对象。
对象的引用
在Java中尽管一切都可以看作对象,但真正的操作标识符实际上是一个引用(感觉像是C里的指针?)。
Book book = new Book();
Book
:类
book
:引用
new Book()
:对象的实体
可以简单地说book
是Book
类的一个对象,而事实上应该是book
包含Book
对象的一个引用。
public class Test {
String name = "I am fine.";
public String getName() {
return name;
}
public static void main(String[] args) {
Test a = new Test();
System.out.println(a.getName());
System.out.println(new Test().getName());
}
}
输出结果:
I am fine.
I am fine.
说明a
与new Book()
“等价”。
对象的使用
当使用new
创建一个对象之后,可以使用对象.类成员
来获取对象的属性和行为。
实例化对象的调用:
public class ObjectUse {
int i = 47;
public void call(){
for(i=0;i<3;i++){
System.out.print(i+" ");
}
System.out.println();
}
public static void main(String[] args) {
ObjectUse t1 = new ObjectUse();
ObjectUse t2 = new ObjectUse();
t2.i=60;
System.out.println("第一次实例对象调用i的结果:"+t1.i);
t1.call();
System.out.println("第二次实例对象调用i的结果:"+t2.i);
t2.call();
}
}
输出结果:
第一次实例对象调用i的结果:47
0 1 2
第二次实例对象调用i的结果:60
0 1 2
对象的属性和行为在类中是通过类成员变量和成员方法的形式来表示的,所以当对象被实例化之后,也就获得了相应的属性和行为。
对象的销毁
每个对象都有生命周期,当对象的生命周期结束时,分配给该对象的内存将会被回收。
Java拥有一套完整的垃圾回收机制,用户不用担心废弃的独享占用内存,垃圾回收期将回收无用的但是占用内存的对象。
两种常见的对象消亡方式:
{
ObjectUse E = new ObjectUse();
}
对象e超过其作用范围,将消亡。
{
ObjectUse E = new ObjectUse();
E = null;
}
当对象被置null
时,将消亡。