Java基础---匿名对象的理解和使用

匿名对象

概念:没有名字的对象
语法:
   new 类名();
用法:
	1.对象被创建之后,如果其中某个方法只调用一次,可以用匿名对象去调
	  用,可以节省空间;
	2.作为方法的实际参数;
	3.作为方法的返回值。
注意:匿名对象可以用来给成员变量赋值,但是一旦赋值,它就变成了垃圾,
     即使没被处理,我们也用不了。
    (就像幽灵,你知道这个空间里有它,但你捕获不到它)
package com.DaYu;

public class Demo08 {
	public static void main(String[] arrgs) {
		//创建一个匿名对象,调用一次方法之后,成为垃圾
        new Phone2().call();
        //匿名对象作为方法的实参
		usePhone(new Phone2());
		//匿名对象作为方法的返回值
		Phone2 p1 = makePhone();
		System.out.println(p1);
		//利用匿名对象给变量赋值
		new Phone2().brand = "Apple";
		System.out.println(new Phone2().brand);
		//结果还是"华为",因为这样赋值没有意义,匿名对象一旦被赋值就没用了,被当成垃圾
		//即使没有被回收,刚刚的赋值我们也无法使用
	}
	
	public static void usePhone(Phone2 p) {
		p.brand = "小米";
		p.price = 4000;
		p.call();
		System.out.println(p.brand+" "+p.price);
				
	}
	
	//匿名对象作为方法的返回值
	public static Phone2 makePhone() {
		return new Phone2();
	}
}

class Phone2 {
	String brand = "华为";
	double price = 7000;
	 public void call() {
		 System.out.println("打电话");
	 }
}



结果:
打电话
打电话
小米 4000.0
com.DaYu.Phone2@15db9742
华为

猜你喜欢

转载自blog.csdn.net/qq_41401295/article/details/106282072