没名字的对象称为匿名对象,对象的名字按照之前的内存关系来讲,在栈内存之中,而对象的具体内容在堆内存之中保存,这样一来,没有栈内存指向堆内存空间,就是一个匿名对象。
class Person1{
private String name;
private int age;
public Person1(String n,int a){
name=n;
age=a;
}
public void tell(){
System.out.println("姓名:"+name+"年龄:"+age);
}
}
public class nimingduixiang {
public static void main(String[] args) {
new Person1("张三",20).tell();
}
}
输出结果:
姓名:张三年龄:20
小结:如果不习惯使用匿名对象,以后的对象就都起名字。匿名对象由于没有对应的栈内存指向,所以只能使用一次,一次之后就将成为垃圾,并且等待被GC回收释放。