匿名对象和垃圾对象

本文介绍了匿名对象的概念,特点,强调其一次性使用的性质和在Java与Android中的应用场景,以及如何成为垃圾对象的四种情况。理解这些有助于优化内存管理和代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

匿名对象和垃圾对象

匿名对象
概念: 没有名字的对象,本质还是一个对象
匿名对象的特点:
1.既然是对象,同样可以访问成员
2.匿名对象只能够使用一次,如果需要使用多次,必须使用变量接收
3.匿名对象一旦使用一次完毕,立刻成为垃圾对象,等待垃圾回收期在空闲的时候回收,节约内存资源
4.匿名对象在Java里一般用于访问一次的情况,简化代码,在Android里节约内存资源

代码实现如下

public class OOPDemo04 {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		Student s1 = new Student(); 
		
//		new Student();
//		
//		System.out.println(new Student().name);
//		
//		new Student().print99MulTable();
		
		new Student().name = "隔壁老王";
		System.out.println(new Student().name); // null
		
		String line = new Scanner(System.in).next();
		System.out.println(line);
		
		new Test().method(new Student());
	}
}

class Test {
	public void method(Student s) {
		System.out.println(s.name);
	}
}

匿名对象内存图
在这里插入图片描述
垃圾对象
没有地址引用的对象称为垃圾对象
什么情况下会成为垃圾对象?
1.当指向某个堆区的空间的对象被赋值为null
2.匿名对象第一次使用完毕
3.对象所在的方法调用完毕
4.对象被重新赋值新的地址
代码实现如下

public class OOPDemo05 {
	public static void main(String[] args) {
		Student s1 = new Student();
		
		// 1.当指向某个堆区的空间的对象被赋值为null
		// s1 = null;
		
		// 2.匿名对象第一次使用完毕
		new Student().sleep();
		
		// 3.对象所在的方法调用完毕
		Demo d = new Demo();
		d.method();
		
		// 4.对象被重新赋值新的地址
		s1 = new Student();
	}
}

class Demo {
	public void method() {
		Student s = new Student();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值