对象的名字(地址)保存在栈内存中,而对象的具体内容(属性)保存在堆内存中.则,没有栈内存指向的堆内存空间,就是一个匿名对象.
范例:
class Person{
private String name ;
private int age ;
public Person(String n,int a){
name = n ;
age = a ;
}
public void tell(){
System.out.println("姓名:" + name + ",年龄:" + age) ;
}//getter,setter略
}
public class Demo{
public static void main(String arg[]){
new Person("张三",20).tell() ; //匿名对象.方法()
}
}
运行结果:
使用匿名对象的好处:由于匿名对象没有对应的栈内存只想,所以只能使用一次,一次之后就成为垃圾,等待被垃圾回收机制回收释放.