其他分享
首页 > 其他分享> > 最君子:匿名对象

最君子:匿名对象

作者:互联网

一.匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。

二.匿名对象的用途

1,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。

为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。

如果对象要多成员进行多次调用,必须给对象起个名字。不能在使用匿名对象。

2,匿名对象可以实际参数进行传递。

三.匿名对象的简单演示

new Car().run();

四.简单的例子

需求

将小汽车改装成3个轮子的黑车。

1:汽车类。

2:汽车修理厂

/*
匿名对象
匿名信
修黑车
汽车类
黑车厂类
把汽车的改成黑色3轮车。
*/
class Car {
String name = “smart”;
String color = “red”;
int num = 4;

void run() {
	System.out.println(name + ":" + color + ":" + num + ":跑起来了。。。。");
}

}

class BlackCarFactory {
String name;
String addr;

Car repairCar(Car c) {
	c.num = 3;
	c.color = "黑色";
	System.out.println("改装成功啦。。。");
	
}

}

class Demo1 {

public static void main(String[] args) {

	BlackCarFactory bcf = new BlackCarFactory();
	bcf.name = "幸福修理厂";
	bcf.addr = "天河区棠东东路御富科贸园a栋206";

	// 非匿名对象
	Car c = new Car();
	c.run();
	// 改装
	bcf.repairCar(c);
	// 取车
	c.run();

	// 匿名对象一,只使用一次:
	// 如下创建了2个对象
	/*
	 * new Car().run();
	 * 
	 * new Car().run();
	 */

	// 匿名对象二,作为实际参数传递
	Car c2 = bcf.repairCar(new Car());
	c2.run();

	System.out.println();
}

}
总结:

  1. 匿名对象设置的属性永远无法获取? 没有引用变量指向那个对象。

  2. 任何两个匿名对象使用==比较,永远返回false。

  3. 匿名对象主要应用于实参。

标签:君子,run,对象,Car,bcf,匿名,new
来源: https://blog.csdn.net/qq_41284819/article/details/110768486