一 点睛
匿名对象是指没有名字的对象。实际上,对于对象实例化操作来讲,对象真正有用的部分是在堆内存中,而栈内存中只是保存了一个对象的引用名称(严格来讲是对象在堆内存的地址),所谓匿名对象是指,只开辟了堆内存空间,而没有栈内存指向的对象。
二 实战
1 代码
public class NoNameObject{ public void say() { System.out.println("匿名对象是只开辟了堆内存空间,没有栈内存指向的对象!"); } public static void main(String[] args) { //这是匿名对象,没有被其它对象所引用 new NoNameObject().say(); }}
2 运行
匿名对象是只开辟了堆内存空间,没有栈内存指向的对象!
三 说明
匿名对象有以下两个特点:
1 匿名对象没有被其他对象所引用,即没有栈内存指向。
2 因为匿名对象没有栈内存指向,所以只能使用一次,之后就变成无法寻找的垃圾对象,会被垃圾回收器回收。