Java 匿名对象的详解

来源:互联网 发布:74hc165数据手册 编辑:程序博客网 时间:2024/06/05 01:54

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

二.匿名对象的用途

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.  匿名对象主要应用于实参。










0 0