匿名对象是指就是没有名字的对象,只开辟堆内存空间,而没有栈内存指向的对象。
例如 : new Person();
声明的是一个匿名的对象,只是在堆内存中开辟了一段内存空间用来存储Person类的相关信息,而没有关于这个类的引用。
改为不是匿名对象:只需要设置一个类的变量,Person p = new Person();
此时的p在栈内存中建立指向新对象的引用变量p,在堆内存中分配用于存储Person对象p所需的内存空间。变量p中存储的就是Person()的栈内存中存储地址。
匿名对象的特点:
(1)匿名对象没有被其他对象所引用,即没有栈内存指向
(2)由于匿名对象没有栈内存指向,所以只能使用一次,之后就变成无法找寻的垃圾对象,故此会被垃圾回收器回收