A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我只追求完美 中级黑马   /  2015-3-18 22:28  /  1703 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求解!!

11 个回复

倒序浏览
匿名对象就是在创建时没有被引用指向的对象,例如: new String("abcd"); 这个就创建了一个匿名对象
回复 使用道具 举报
一般的是用在这种场合,只需要使用该对象一次,以后不再使用了。所以没有必要用引用指向它。使用完就可以被垃圾回收了。
回复 使用道具 举报
同题,,求详细求解
回复 使用道具 举报
jackwang 发表于 2015-3-18 22:31
匿名对象就是在创建时没有被引用指向的对象,例如: new String("abcd"); 这个就创建了一个匿名对象 ...

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

在只需要使用一次该对象,就不在使用了的时候啊,还有就是创建匿名类的对象的时候
回复 使用道具 举报
ankje 中级黑马 2015-3-18 23:02:15
8#
如果对象重复被使用的次数不是很多的话,可以用匿名对象,简单、直接!
回复 使用道具 举报
尚巾仁杰 来自手机 中级黑马 2015-3-18 23:14:41
9#
匿名对象就是在建立对象的时候,没有变量指向该对象,也就是没有名字的对象!它主要有两个用法:1_当对对象方法仅调用一次的时候,可以使用匿名对象!2_匿名对象可以作为实际参数来传递!
回复 使用道具 举报
一般只用一次的话 可以用匿名
回复 使用道具 举报
例如有一个 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.匿名对象可以作为实际参数进行传递
回复 使用道具 举报
匿名对象的使用,应该在对应的自定义类中。使用匿名内部类,主要是为了方便一次性内部调用,以及防止其建立对象,对外实现透明。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马