未用匿名方式定义:以类名为char举例:char c = new char();
1.当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
例如:
一般定义:char c = new char();
c.run();
上述两行等同于new char().run();
一些细节:
new char().color = "red";
new char().num = 4;
new char().run();
运行结果为:0 null 上述三个是独立的三个个体
第二行开始时第一行已经变垃圾 第三行开始时1 2行都变垃圾了
2.匿名对象可以作为实际参数进行传递
先定义一个show()功能
public static void show(char c)
{
c.num = 3;
c.color = "red";
Sysop(c.num+"..."+c.color);
}
show(new char()); 此时这个new char不会变垃圾 因为有后续的更改
综上,其优势主要为节省空间,减少寻址