Java 匿名对象

 

一,定义:

        匿名对象就是对象的简化形式,即没有名字的对象。

       对象:       Car c1=new Car();

                             c1.run();

       匿名对象:new Car().run();

二,匿名对象的两种使用情况:

         1.当对对象的方法(对属性的调用没有意义)仅进行一次调用的时候使用匿名对象。 如果对一个对象进行多个成员的调用时,必须给这个对象起个名字。  

     new Car().run();//如果当对象使用匿名对象调用方法两次时,因为每次都要new对象,所以这是2个对象分别调用了run(),而不是一个对象调用了多方法。
     new Car().run();

      

 

             2. 匿名对象可以作为实际参数进行传递。

               对象式:Car c1=new Car();

                                show(c1);         

                匿名对象式:show(new Car());

三,  对象和匿名对象的内存开辟:

 

 

 1 class Car {
 2     String color;            //颜色
 3     int num;                //轮胎数
 4     public void run() {
 5         System.out.println(color + "..." + num);
 6     }
 7 }
 8 public class Test {
 9     public static void main(String[] args) {
10         Car c1 = new Car();            //创建有名字的类类型对象
11         c1.run();
12         c1.run();
13 
14         new Car().run();            //匿名对象调用方法
15         new Car().run();            //匿名对象只适合对方法的一次调用,因为调用多次就会产生多个对象,不如用有名字的对象    
16     
17         //匿名对象是否可以调用属性并赋值?有什么意义?
18         // 匿名对象可以调用属性,但是没有意义,因为调用操作完后没有人引用就会变成垃圾被回收
19        
20         new Car().color = "red";
21         new Car().num = 8;
22         new Car().run();
23     }
24 }
posted @ 2020-01-15 20:22  小L要努力吖  阅读(515)  评论(0)    收藏  举报