匿名对象是没有名字的对象,对于一个对象的实例化操作来讲,对象真正有用的部分是在堆内存里面,而栈内存只是保存了一个对象的引用名称(严格来讲是对象在堆内存的的地址),所以所谓的匿名对象是指,只开辟了堆内存空间,而没有栈内存指向的对象。`
public class NoNameObject {
public void say()
{
System.out.println("面朝大海,春暖花开");
}
public static void main(String[] args)
{
new NoNameObject().say();
}
}
匿名对象有两个特点
(1)匿名对象是没有被其它对象所引用,即没有栈内存的指向。
(2)由于匿名对象没有栈内存指向,所以其只能使用一次,之后就变成无法找寻的垃圾对象,故此会被垃圾回收器收回。