匿名對象:
即沒有名字的對象。
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();