黑马程序员技术交流社区

标题: 匿名内部类 [打印本页]

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

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

作者: kevin986745    时间: 2015-8-22 08:52
说的还是很对的,就是不全面而已!
作者: chensheng06    时间: 2015-8-22 09:14
你的格式上面 写清楚点就明白了  new 父类名或接口名(){ }
说白了就是多态  父类引用指向子类对象,只不过这个子类对象没有名字,但有内容。
作者: jaunce    时间: 2015-8-22 09:27
chensheng06 发表于 2015-8-22 09:14
你的格式上面 写清楚点就明白了  new 父类名或接口名(){ }
说白了就是多态  父类引用指向子类对象,只不 ...

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

哥们,太给力了。。默默的収下大牛的指点
作者: mmppp    时间: 2015-8-24 22:06
jaunce 发表于 2015-8-24 19:30
哥们,太给力了。。默默的収下大牛的指点

没有啦 大家都一样  加油哈




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