精华内容
下载资源
问答
  • 匿名对象

    千次阅读 2015-09-20 22:11:47
    匿名对象. 没有名字的对象,如果我们创建1个对象,没有用1个指针存储这个对象的地址. 也就是没有任何指针指向这个对象 那么这个对象就叫做匿名对象。 如何去使用1个匿名对象呢?因为new实际上1个类方法. 这个方法做的...
    1. 我们之前创建对象的做法.
      Person *p1 = [Person new];
      让1个指针指向1个对象 这个指针就叫做这个对象的名字.

      1. 匿名对象.
        没有名字的对象,如果我们创建1个对象,没有用1个指针存储这个对象的地址.
        也就是没有任何指针指向这个对象 那么这个对象就叫做匿名对象。

      2. 如何去使用1个匿名对象呢?

        因为new实际上1个类方法. 这个方法做的事情创建对象(4个步骤). 返回值是创建的对象的地址.
        [Person new] 这句代码的结果实际上就是创建的那个对象的指针. 那我们可以直接使用.

        [Person new]->_name = @”jack”;
        [[Person new] sayHi];

      3. 注意点.

        1). 匿名对象只能使用1次.

        2). 每次创建匿名对象都是不同的对象 。
        [Person new]->_name = @”jack”;
        创建了1个对象

        [Person new]->_age = 18;
        又创建了1个对象
        [[Person new] sayHi];
        第3个对象.

      5.有神马用?

      1). 如果某个对象的成员只会被我们使用1次.用完之后这个对象再也不需要了 那么就可以使用匿名对象.

      2). 如果方法的参数是1个对象,而调用者为这个参数赋值的对象 就是专门来给这个方法传递的
      并且这个对象调用者不会使用 那么这个时候就可以直接为方法传递1个匿名对象 。

    展开全文
  • 一、C# 匿名对象概念 匿名类:没有命名的类,不需要定义,也是继承自object。 匿名对象:new 出来的匿名类的对象,没有固定类型的对象。 变量声明,必须指定类型,没有指名类型就是匿名类型。所有的对象继承自...

    一、C# 匿名对象概念

    匿名类:没有命名的类,不需要定义,也是继承自object。

    匿名对象:new 出来的匿名类的对象,没有固定类型的对象。

    变量声明,必须指定类型,没有指名类型就是匿名类型。所有的对象继承自object类,也可以说是object类型。

    语法规则:

    new { ID=1,Name=""}

    二、C# 匿名对象的使用场景

    1.使用object 声明

    object student2 = new
    {
        ID = 2,
        Name = "李四",
        Age = 20
    };

    2. 使用 var 声明

    var student = new
    {
        ID = 1,
        Name = "张三"
    };

    3.使用dynimac 声明

    dynamic student3 = new
    {
        ID = 3,
        Name = "王五"
    };
    student3.Age = 30;

    4.匿名对象 和 Linq 搭载

    //匿名对象 和 Linq
    int[] nums = new int[] { 1, 2, 3 };
    
    var studentList = nums.Select(q => new
    {
        ID = q,
        Name = "姓名" + q
    });

     

    三、var 类型 和dynamic 类型的区别

    var的特点:

    1、var 仅能声明方法内的局部变量

    2、var 声明的变量在被赋值后类型即确定下了,后续程序中不能在赋其他类型的值

    dynamic的特点:

    1、dynamic 表示动态类型,动态类型的含义就是 程序编写、编译阶段 类型不确定,在Runtime时再通过反射机制确定相关对象的属性或方法。因此编写阶段不会进行语法检测。

    2、dynamic 可用来声明 字段、属性、方法参数、方法返回值

    3、dynamic 不支持智能提示,因为你写代码时 dynamic  是什么没法知晓(反射)

    dynamic 声明的变量,可理解为 object 类型变量。所以给dynamic变量赋任何类型值都正确,但在使用变量来取得某个属性值或调用某方法时(此时程序肯定处于Runtime状态),CLR会检查(反射)所调用的属性或方法是否存在,不存在报运行时异常。

    var 和 dynamic 看似功能类似,但它们是不同的:

     vardynamic
     声明字段 × √
     局部变量 √ √
     方法参数类型 × √
     方法返回值类型 × √

     

    更多:

    C# 数组_C#动态数组详解整理

    DotNet 开发项目类型整理_C#开发项目类型整理

    C#面向对象_C#面向对象开发开发整理

    展开全文
  • 本篇文章给大家详细讲解了Java匿名对象与匿名内部类的相关知识点,有兴趣的读者一起学习下。
  • 匿名对象与非匿名对象的区别

    千次阅读 2013-11-06 07:42:16
    类封装完以后就可以通过使用new关键字和类的构造方法来创建对象,这种对象分为两种:匿名对象与非匿名对象。何为匿名对象,何为非匿名对象呢?举个例子:假如有如下类:  package com.heima.vo;  public class ...

            类封装完以后就可以通过使用new关键字和类的构造方法来创建对象,这种对象分为两种:匿名对象与非匿名对象。何为匿名对象,何为非匿名对象呢?举个例子:假如有如下类:

            package com.heima.vo;

            public class Student{
                        private String name="lisi";
                        private int age=12;
                        public void print(){

                                    System.out.println(name+":"+age);
                       }
            }

            这种形式的对象称之为匿名对象:new Student();

            这种形式的对象称之为非匿名对象:Student stu=new Student(); 

            两者的区别:

                    1、两者的结构不同,这一点通过其表现形式一目了然,在此不作赘述;

                    2、在内存中的分布不同:匿名对象创建的对象只存在于堆中;非匿名对象创建对象时的对象虽然也在堆中,但其类变量却在栈中,栈中的类变量通过创建变量的内存地址来指向相应的对象。

                    3、①匿名对象调用方法有意义,而调用类中的属性则没有意义:例如:new Student().name="wangwu";,这属于使用匿名对象调用属性,那么为什么说这样做没有意义呢?当代码执行到这一行代码时则修改new Student()对象的name属性,可是当该条语句被执行后呢?由于这时new Student()没有继续引用,所以此对象在堆中就成了垃圾。那么为什么说匿名对象调用方法有意义呢?方法存在于栈空间,当在内存中创建的对象调用方法时,JVM开始为局部变量开辟内存空间,方法开始执行,方法强调其功能,对象调用方法可以完成其功能,所以匿名对象调用方法有意义。

                    ②非匿名对象调用方法或调用类中的属性都有意义(其中前者不在累述,请参见第①点):例如:Student stu=new Student();,stu.name="wangwu"这属于使用非匿名对象调用属性,那么为什么说这样做有意义呢?当代码执行到这一行代码时则修改stu对象的那么属性,此时使用该对象调用print()方法则输出的name值为wangwu,鉴于这一点所以认为非匿名对象调用属性实用意义的。

    展开全文
  • java匿名对象

    2016-10-30 20:43:06
    匿名对象 1匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。 2匿名对象的用途 1.当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。   为什么只对方法,而不调用属性呢?因为...

     匿名对象

    1匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。

    2匿名对象的用途

    1.当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。

        为什么只对方法,而不调用属性呢?因为匿名对象调用属性没意义。

        如果对象要多成员进行多次调用,必须给对象起个名字。不能在使用匿名对象。

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

    3匿名对象的简单演示

    new Car().run(); 

    4内存

    1.new Car().num=5;

    2.new Car().clor="blue";

    两个new 是两个不同的对象,在堆内存中有不同的空间,相互不相互干扰。

    5匿名对象的使用

    1.当只使用一次时可以使用匿名对象。执行完毕到;后该对象就变成了垃圾。

    new Car().run();

       2.执行方法时,可以将匿名对象作为实际参数,传递进去。

    6匿名对象要注意的事项:
    1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到。
    2. 两个匿名对象永远都不可能是同一个对象。

     


    class Student{
    	
    	int num; //学号
    
    	String name; //名字
    	
    	public void study(){
    		System.out.println("好好学习,为将来称为高帅富做准备!");
    	}
    }
    
    class Demo4{
    
    	public static void main(String[] args) 
    	{
    		//创建一个学生对象
    		Student s = new Student();
    		new Student().name = "狗娃"; //匿名对象 
    		System.out.println(Student().name); //null
    		System.out.println(new Student() == new Student()) ;  // "==" 用于引用类型变量时,比较的是内存地址。判断两个 对象是否为同一个对象
    		
    		
    		Student s = new Student();
    		s.study();
    		
    		new Student().study();
    
    	}
    }


    展开全文
  • Java中匿名对象

    千次阅读 多人点赞 2019-07-16 16:00:00
    1、匿名对象的创建 匿名对象是指在创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量,如:对于已存在的Person类 创建一个普通对象 Person P = new Person(); 创建一个匿名对象 new Person();...
  • 匿名对象和匿名类

    2017-08-09 20:57:08
    一,匿名对象 匿名对象:没有名字的对象: new Car(); //匿名对象其实就是定义对象的简写格式。 Car c = new Car(); c.run();用匿名对象来书写以上代码: new Car().run();匿名对象的使用方法: 1 当对象对方法...
  • 1.命名对象可以通过,对象名使用prototype,添加成员,匿名对象如果操作? 2.js在chrome浏览器中发现,对象.未知成员两次后,第一次成员未知undefined,后面成员就有了,什么鬼可以这样添加成员吗? 如 function...
  • 理解java匿名对象

    千次阅读 2018-05-28 12:43:22
    匿名对象的概念匿名对象是指创建对象时,只有创建对象的语句,却没有把对象地址值赋值给某个变量。如:已经存在的类:public class Person{ public void eat(){ System.out.println();  } } 创建一个普通对象...
  • 自己做的关于C++一些知识的ppt 内容有对于C++中的匿名空间,匿名对象,匿名联合的讲解
  • 匿名类和匿名对象

    千次阅读 2018-06-20 17:25:40
    匿名类和匿名对象在的Java中有匿名类和匿名对象的概念,有名字可知他们是因为没有名字二指定为匿名类的。匿名类匿名类(也叫匿名内部类)他是内部类的一种匿名类在类中只能使用一次,它通常用来简化代码的编写,但...
  • Java匿名对象的使用

    2020-05-01 16:40:14
    java匿名对象 1.使用匿名对象调用实例变量和实例方法 2.使用匿名对象向方法传递参数 3.使用匿名对象作为方法的返回值
  • C++的匿名对象

    千次阅读 2018-08-01 21:35:05
    即抛出了一个匿名对象。 就比较了一下c++标准和各平台的实现:https://blog.csdn.net/a3192048/article/details/81329976 顺便也整理下c++的匿名对象。 C++中的匿名对象是pure RValue, 因而不能作为引用传进去.....
  • 随着C#的发展,该语言内容不断丰富,开发变得更加方便快捷,C# 的锋利尽显无疑。下面通过本文给大家分享C# 匿名对象(匿名类型)、var、动态类型 dynamic,需要的的朋友参考下吧
  • java-学习-面对对象-匿名对象
  • 匿名对象的使用

    2021-08-11 16:41:20
    * 匿名对象的使用 * 1.理解:我们创建的对象,没有显式的赋给一个变量名。即为匿名对象 * 2.特征:匿名对象只能调用一次。 * 3.使用:如下 * */ public class InstanceTest { public static void main(String...
  • 匿名对象的理解

    千次阅读 2018-08-30 13:40:02
    在 Java中匿名对象,一直比较难理解,我们先说一下匿名对象的使用情形有哪些? 只使用对象一次, 可以作为实际参数来传递,传递一个对象,里面就有不同的,属性方法可以调用。 什么叫做匿名对象,就是指对象的...
  • Java的匿名对象

    千次阅读 2016-01-05 21:07:54
    匿名对象要注意的事项:  1. 我们一般不会给匿名对象赋予属性值,因为永远无法获取到。  2. 两个匿名对象永远都不可能是同一个对象。 匿名对象好处:简化书写。 匿名对象的应用场景:  1. 如果一个对象...
  • 无需定义类 就可以动态从数据库中读取匿名对象; 1 如果你使用过带有Linq的Orm 一定会对匿名对象有所了解 加载的对象必须是定义过的类; 2 直接用数据库的DataReader和DataTable处理对象又不方便; 3 定义一个新类 ...
  • 主要介绍了Java中的匿名对象定义与用法,结合实例形式分析了java匿名对象的概念、原理、定义与相关使用注意事项,需要的朋友可以参考下
  • 主要介绍了C#实现读取匿名对象属性值的方法,结合实例形式总结分析了C#通过反射、转换等方法读取匿名对象属性值的相关操作技巧,需要的朋友可以参考下
  • new Thread(new Runnable() {.....省略代码若干..........}).... 上面这段代码是一个匿名对象传入一个匿名对象在调用start方法吗 还是一个匿名类传入一个匿名对象再调用start方法 我有点分不清匿名对象和匿名类呢
  • Java中的匿名对象

    千次阅读 2019-06-02 23:39:06
    匿名对象:没有名字的对象 new Test(); 这就是一个匿名对象,但是,在Java一般不这么使用,因为没有意义,因为这样写完后,由于没有对该对象进行引用,所以马上就被内存回收了,所以没有实际意义 package Test; ...
  • Java 匿名对象的详解

    千次阅读 2017-01-01 15:32:01
    匿名对象:没有名字的实体,也就是该实体没有对应的变量名引用。 二.匿名对象的用途 1,当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。  为什么只对方法,而不调用属性呢?因为...
  • java之匿名对象的用法

    万次阅读 多人点赞 2016-11-23 08:24:45
    匿名对象:没有名字的对象: new Car(); //匿名对象其实就是定义对象的简写格式。 Car c = new Car(); c.run(); 用匿名对象来书写以上代码: new Car().run(); 匿名对象的使用方法: 1 当对象对方法仅进行一次...
  • 匿名对象使用方法

    千次阅读 2019-06-05 16:16:56
    import java.util.Scanner; /*普通创建对象格式: * 类名称 对象名称 = new 类名称(); * * 匿名对象创建格式: ... * 匿名对象成员变量或者方法调用格式: ... * 匿名对象只能使用一次,下一次使用需重新创建新...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 322,901
精华内容 129,160
关键字:

匿名对象