august 发表于 2007-11-27 00:38:22

[java]问个JAVA的匿名类问题


class Test{
    public void hi(){
      System.out.println("hi!");
    }
    public void hello(){
      System.out.println("hello");
    }
}
public class HelloWorld{
    public static void main(String[] args){
      Test ob=new Test(){
            public void hi(){
                System.out.println("fuck you");
            }
      };
      ob.hi();
      ob.hello();
    }
}

是这样的,书上给的一个例子,以我所知,匿名类就是为了不用创建对像,但它写成这样不就是创建了对像了吗?

rednaxela 发表于 2007-11-27 12:58:42

引用第0楼august于2007-11-27 00:38发表的 问个JAVA的匿名类问题 :
以我所知,匿名类就是为了不用创建对像
有什么书上这样说了么...那本书一定看不得.
匿名内部类存在的价值是在于定义只要创建一次的对象的具体行为.例如说一些ActionListener之类,整个程序只会创建一次,只有一个实例,所以没有必要给那个具体类型一个名字(名字越多,冲突的可能行越大)
页: [1]
查看完整版本: [java]问个JAVA的匿名类问题