黑马程序员技术交流社区
标题:
关于匿名内部类的理解,还是对这个概念很模糊~
[打印本页]
作者:
歸羽
时间:
2014-7-10 09:59
标题:
关于匿名内部类的理解,还是对这个概念很模糊~
匿名内部类的使用注意,在什么地方会用到?
作者:
咖啡苏克
时间:
2014-7-10 10:02
当一个方法的形参是一个接口时,要想调用该方法,
可以创建一个具体的类实现这个接口,然后将这个实现类的对象传入该方法
也可以可以通过匿名内部类实现,即将“new 父类或者接口( ){定义子类重写内容}”传入该方法
new 父类或者接口( ){定义子类重写内容}其实就是实现这个接口的一个子类对象
作者:
Darkhorse′Xa
时间:
2014-7-10 10:08
本帖最后由 Darkhorse′Xa 于 2014-7-10 10:36 编辑
一开始是感觉挺模糊的,如果感觉还不是太理解可以去一些博客看一下匿名内部类的文章.其实不用想的太复杂.
运用:只需要用到一次类的时候写的,也就是说你如果你这个类只需要被使用一次,那么就不需要去定义.可以直接使用匿名内部类.
new 父类()接口()
{
//类当中定义的方法,或者重写
}//在这可以调用定义方法
在举个例子
abstract class Person{
public abstract void sayHi();
}
class Student extends Person{
public void sayHi(){
System.out.println("Hello");
}
}
/*如果说我要使用这个sayHi方法,我就需要写这么一个子类继承这个Person父类,创建子类对象去调用sayHi方法(匿名内部类前提是必须要有继承或者接口).但是我觉得这样太麻烦,因为这个类我只需要使用一次,就是用sayHi方法..那么我就可以这么写:*/
new Person(){
public void sayHi(){
System.out.println("Hello");
}
}.sayHi();
/*而那个Student的类就可以不需要了*/
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2