黑马程序员技术交流社区

标题: 匿名对象是什么?怎么用? [打印本页]

作者: 我只追求完美    时间: 2015-3-18 22:28
标题: 匿名对象是什么?怎么用?
求解!!

作者: jackwang    时间: 2015-3-18 22:31
匿名对象就是在创建时没有被引用指向的对象,例如: new String("abcd"); 这个就创建了一个匿名对象
作者: jackwang    时间: 2015-3-18 22:33
一般的是用在这种场合,只需要使用该对象一次,以后不再使用了。所以没有必要用引用指向它。使用完就可以被垃圾回收了。
作者: 大神在何方    时间: 2015-3-18 22:34
同题,,求详细求解
作者: 我只追求完美    时间: 2015-3-18 22:35
jackwang 发表于 2015-3-18 22:31
匿名对象就是在创建时没有被引用指向的对象,例如: new String("abcd"); 这个就创建了一个匿名对象 ...

不够详细,那该在什么样的情况下使用?
作者: jackwang    时间: 2015-3-18 22:37
匿名类的对象的创建也可以看成是匿名对象的使用。匿名类就是没有名称的类,
例如:
  1. interface inter{//接口中的成员}
  2. class Demo
  3. {
  4.     public static void main(String[] args)
  5.     {
  6.            new inter(){
  7.             // 实现接口中的方法  
  8.            };
  9.     }
  10. }
复制代码

作者: jackwang    时间: 2015-3-18 22:54
我只追求完美 发表于 2015-3-18 22:35
不够详细,那该在什么样的情况下使用?

在只需要使用一次该对象,就不在使用了的时候啊,还有就是创建匿名类的对象的时候
作者: ankje    时间: 2015-3-18 23:02
如果对象重复被使用的次数不是很多的话,可以用匿名对象,简单、直接!
作者: 尚巾仁杰    时间: 2015-3-18 23:14
匿名对象就是在建立对象的时候,没有变量指向该对象,也就是没有名字的对象!它主要有两个用法:1_当对对象方法仅调用一次的时候,可以使用匿名对象!2_匿名对象可以作为实际参数来传递!
作者: 胡谭龙    时间: 2015-3-19 10:42
一般只用一次的话 可以用匿名

作者: 理当如此    时间: 2015-3-19 12:25
例如有一个 class A{}程序,在主函数中" A a=new A(...)"意思就是说定义了变量a指向了new A()的内存地址,简单来说new A{}的名字就叫a,它就不是匿名对象。而在主函数中“ new A(...)”意思就是new A()直接拿来调用,它没有被变量所指向,也就是没有名字,所以就叫匿名对象。
匿名对象有2中使用情况:
1.当对象方法仅进行一次调用,例如class A{}有一个方法play(){},那么在主函数掉调用play可以写成:
new A().play();
2.匿名对象可以作为实际参数进行传递
作者: 埗箬    时间: 2015-3-19 12:52
匿名对象的使用,应该在对应的自定义类中。使用匿名内部类,主要是为了方便一次性内部调用,以及防止其建立对象,对外实现透明。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2