匿名内部类就是指一种没有具体名称的类
看代码:
interface
FF{//定义一个接口
public
void
info();
}
class
Bbn
implements
FF{//定义一个类来实现接口
public
void
info() {
System.
out
.println(
"hello world"
);
}
}
class
X{//一个类来创建对象和调用方法
public
void
fun1(){
this
.fun2(
new
Bbn());
}
public
void
fun2(FF f){
f.info();
}
}
public
class
NoInnerTest {
public
static
void
main(String[] args) {
new
X().fun1();
}
}
结果:
hello world
但是,上面的Bbn类只用了一次,所以大可不必单独的创建一个类出来
代码修改如下:
interface
Aac{
void
info();
}
class
Xx{
public
void
fun1(){
this
.fun2(
new
Aac() {
//匿名内部类
public
void
info() {
System.
out
.println(
"hello world"
);
}
});
}
public
void
fun2(Aac a){
a.info();
}
}
public
class
NoInnerTest1 {
public
static
void
main(String[] args) {
new
Xx().fun1();
}
}
结果:
hello world