匿名对象:
即没有名字的对象。
public class Test { public static void main(String[] args) { /*Car c1 = new Car(); //创建有名字的对象 c1.run(); c1.run(); new Car().run(); //匿名对象调用方法 new Car().run(); //匿名对象只适合对方法的一次调用,因为调用多次就会产生多个对象,不如用有名字的对象 //匿名对象是否可以调用属性并赋值?有什么意义? /* 匿名对象可以调用属性,但是没有意义,因为调用后就变成垃圾 如果需要赋值还是用有名字对象 */ new Car().color = "red"; new Car().num = 8; new Car().run(); } } class Car { String color; //颜色 int num; //轮胎数 public void run() { System.out.println(color + "..." + num); } }
匿名对象的使用方法:
1. 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。
如一个 对象需要进行调用方法2次,用匿名对象的
new Car().run()
new Car().run()
这是2个对象分别调用了run(),不是一个对象调用了多方法。
2. 匿名对象可以作为实际参数进行传递。
public static void show(Car c)
{
//......
}
show(new Car());
内存分析:
new Car().num =5; new Car().color = "green"; new Car().run();