天天看點

Java匿名對象

匿名對象:

  即沒有名字的對象。

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()

這是2個對象分别調用了run(),不是一個對象調用了多方法。

2. 匿名對象可以作為實際參數進行傳遞。

public static void show(Car c)

{

//......

}

show(new Car());

記憶體分析:

new Car().num =5;
new Car().color = "green";
new Car().run();
      
Java匿名對象
上一篇: Java面向對象
下一篇: java面向對象