• 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 }
  • 相关阅读:
    hdu 2147博弈找规律
    hdu 1851 巴什博弈
    hdu 1729 sg博弈
    hdu 2516博弈找规律
    (转载)博弈之SG函数
    poj 2234基础Nim博弈||sg博弈
    hdu 1730 sg博弈||nim博弈
    hdu 1847 博弈找规律
    n hdu 1760 [SG博弈]二维状态
    hdu 1849 nim博弈
  • 原文地址:https://www.cnblogs.com/ljl150/p/12198083.html
Copyright © 2020-2023  润新知