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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jaunce 中级黑马   /  2015-8-22 08:38  /  1007 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

对于匿名内部类真的是一头的雾水。。匿名内部类:没有名字的局部内部类
前提:必须存在一个类,抽象类或者接口
      格式:
        new 类名或者接口名()
        {
           重写类或者接口中的方法
           也可以自己定义新的方法
        };
        //怎么调用?
          :是一个继承了类或者实现了接口的匿名的子类对象

        什么时候使用匿名内部类?
        一般来说,当接口或者抽象类中的方法在3个以下的时候,考虑用匿名内部类
        以后再你看到一个方法接收的形式参数是一个抽象类的时候,或者接口类的时候
        就考虑使用匿名内部类

8 个回复

倒序浏览
说的还是很对的,就是不全面而已!
回复 使用道具 举报
你的格式上面 写清楚点就明白了  new 父类名或接口名(){ }
说白了就是多态  父类引用指向子类对象,只不过这个子类对象没有名字,但有内容。
回复 使用道具 举报
chensheng06 发表于 2015-8-22 09:14
你的格式上面 写清楚点就明白了  new 父类名或接口名(){ }
说白了就是多态  父类引用指向子类对象,只不 ...

领教了。。3q
回复 使用道具 举报
感觉有点像一个匿名对象,只不过抽象类和接口无法被实例化,所以必须在大括号里重写抽象方法
回复 使用道具 举报
谢谢分享,学习了
回复 使用道具 举报
mmppp 中级黑马 2015-8-23 14:52:42
7#
朋友 什么时候使用匿名对象呢?
是这个样子的哦....
匿名对象的实质其实就是实现了接口的方法的类的子类对象.只不过这个类
是匿名的.所以这个类没有名字,然后new出来的对象也没有命名.
用的场所就是当你的方法的参数是一个接口的子类对象的时候,而且这个接口的
方法也不是特别的多的时候,就不必再去定义一个类,实现接口,重写方法.
然后创建对象,把对象传入了.
直接匿名内部类就是一个实现了接口的类的子类对象,和前面的那些步骤得到的结果
是一致的,所以使用匿名内部类更加的简单.
回复 使用道具 举报
jaunce 中级黑马 2015-8-24 19:30:22
8#
mmppp 发表于 2015-8-23 14:52
朋友 什么时候使用匿名对象呢?
是这个样子的哦....
匿名对象的实质其实就是实现了接口的方法的类的子类对象 ...

哥们,太给力了。。默默的収下大牛的指点
回复 使用道具 举报
mmppp 中级黑马 2015-8-24 22:06:48
9#
jaunce 发表于 2015-8-24 19:30
哥们,太给力了。。默默的収下大牛的指点

没有啦 大家都一样  加油哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马