一.匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。
二.匿名对象的用途
1,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。
为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。
如果对象要多成员进行多次调用,必须给对象起个名字。不能在使用匿名对象。
2,匿名对象可以实际参数进行传递。
三.匿名对象的简单演示
new Car().run();
四.简单的例子
需求
将小汽车改装成3个轮子的黑车。
1:汽车类。
2:汽车修理厂
-
-
-
-
-
-
-
-
-
- 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();
-
-
-
-
-
-
-
-
-
-
- Car c2 = bcf.repairCar(new Car());
- c2.run();
-
- System.out.println();
- }
- }
总结:
1. 匿名对象设置的属性永远无法获取? 没有引用变量指向那个对象。
2. 任何两个匿名对象使用==比较,永远返回false。
3. 匿名对象主要应用于实参。