黑马程序员技术交流社区

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

作者: xiaoxiaofeng    时间: 2014-8-5 08:23
标题: 匿名内部类
匿名内部类的格式是什么?匿名内部类的实现前提。匿名内部类常常在什么时候用?
作者: 落幕繁华    时间: 2014-8-5 11:22
格式一般是new 父类类名(){要覆盖的父类的方法}.要调用的方法,

通常使用场景函数式接口类型,接口中的函数不要太多
作者: /aiq玩完?/aiq    时间: 2014-8-5 12:41
格式:new 抽象类或者接口() {重写父类方法};
前提:存在一个抽象类或者接口。
本质:是一个继承了类或者实现了接口的子类匿名对象。其本质是一个对象。
通常你要建立的对象只使用一次的时候就可以直接用匿名对象。
作者: aiq黑马程序员    时间: 2014-8-5 12:51
/aiq玩完?/aiq 发表于 2014-8-5 12:41
格式:new 抽象类或者接口() {重写父类方法};
前提:存在一个抽象类或者接口。
本质:是一个继承了类或者实 ...

要继承的类一定是抽象的吗
作者: /aiq玩完?/aiq    时间: 2014-8-5 13:43
aiq黑马程序员 发表于 2014-8-5 12:51
要继承的类一定是抽象的吗

不是,是存在一个抽象类或(注意是或)者接口。当创建匿名内部类时,必须实现接口或抽象父类里的所有抽象方法。这是我学习时记的。我自己理解的也不是很清楚
作者: liubea    时间: 2014-8-5 13:52
匿名内部类一般用作方法的参数,匿名内部类没有class关键字,一般隐式的继承一个类或实现一个接口。如:String str = test.get(new Date(){
作者: danmo    时间: 2014-8-5 13:59
匿名内部来一般是直接把类当做参数传递,匿名内部类通常用来实现按钮接听等一次执行后就不用了的类实现中
作者: 晓风    时间: 2014-8-5 16:33
匿名内部类就是:一个类的内部,有另一个类。
匿名内部类和其他类成员是一样的。但匿名内部类不能有访问修饰符。
非静态内部类的实例化方式:new 外部类().new 内部类();
       非静态内部类,另一访问外部类的所有成员。
静态内部类的实例化方式:new 外部类.内部类();
       静态内部类又称为嵌套类,只能访问外部类的静态成员。
匿名内部类的使用:
       抽象类自己直接实例化自己的时候;
       接口字节实例化自己的时候。
作者: 张涛的狂怒    时间: 2014-8-5 20:08
匿名内部类的前提就是继承或实现一个外部类或者接口,才能实例化其子类
作者: sunny~    时间: 2014-8-5 20:23
在GUI事件处理的时候用的比较多,这个地方也比较重要!!!
作者: 姜佳文    时间: 2014-8-5 20:59
就是直接new类呗,没有名字,有两种情况下用,一是调用方法,只调用一次,二是当做形参传递
作者: aiq黑马程序员    时间: 2014-8-5 23:04
/aiq玩完?/aiq 发表于 2014-8-5 13:43
不是,是存在一个抽象类或(注意是或)者接口。当创建匿名内部类时,必须实现接口或抽象父类里的所有抽象 ...

我查了,如果遇到实现接口或者是抽象类时候 才会用到匿名内部类,但并不是说只有在这两种情况下才能使用,普通类依然可以使用匿名内部类 只是意义不大




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