黑马程序员技术交流社区

标题: 匿名内部类在开发中常用吗? [打印本页]

作者: bigbean    时间: 2014-3-4 00:31
标题: 匿名内部类在开发中常用吗?
本帖最后由 bigbean 于 2014-3-4 12:31 编辑

匿名内部类的好处是可利用内部类创建不具有名称的对象,并利用它访问到类里的成员,但是他的结构我感觉很混乱,不容易理解,在企业开发中,匿名内部类经常使用吗,如果不经常使用的话,我以后就尽量不写这个类了。
作者: 榨菜    时间: 2014-3-4 00:33
我觉得内部类是非常有用的,比如枚举里面会经常写。 监听器也要用到  (GUI里面监听按键 鼠标等)。
作者: hhmm665544    时间: 2014-3-4 00:46
应该比较多吧,如果一个类只需要1~2方法用匿名的省事很多
作者: mohuancaizi    时间: 2014-3-4 01:05
匿名内部类还是比较常见的  
它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口


实例1:不使用匿名内部类来实现抽象方法
  1. abstract class Person {
  2.     public abstract void eat();
  3. }

  4. class Child extends Person {
  5.     public void eat() {
  6.         System.out.println("eat something");
  7.     }
  8. }

  9. public class Demo {
  10.     public static void main(String[] args) {
  11.         Person p = new Child();
  12.         p.eat();
  13.     }
  14. }
复制代码



实例2:在接口上使用匿名内部类
  1. interface Person {
  2.     public void eat();
  3. }

  4. public class Demo {
  5.     public static void main(String[] args) {
  6.         Person p = new Person() {
  7.             public void eat() {
  8.                 System.out.println("eat something");
  9.             }
  10.         };
  11.         p.eat();
  12.     }
  13. }
复制代码


明显用起来简化了不少呀
作者: bigbean    时间: 2014-3-4 12:35
mohuancaizi 发表于 2014-3-4 01:05
匿名内部类还是比较常见的  
它通常用来简化代码编写
但使用匿名内部类还有个前提条件:必须继承一个父类或 ...

:lol 谢谢,看懂了




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