怎样判断java匿名类

来源:百度知道 编辑:UC知道 时间:2024/05/06 01:23:04
怎样判断一个匿名类的存在啊?
看不见名字,感觉只是父类new出一个对象而已,没有匿名类的名字。。。
不知道你们看懂我的疑问没。。。。

先看段伪代码
abstract class Father(){
....
}

public class Test{
Father f1 = new Father(){ .... } //这里就是有个匿名内部类
}
一般来说,new 一个对象时小括号后应该是分号,也就是new出对象该语句就结束了。
但是出现匿名内部类就不一样,小括号后跟的是大括号,大括号中是该new 出对象的具体的实现方法。
因为我们知道,一个抽象类是不能直接new 的,必须先有实现类了我们才能new出它的实现类。
上面的伪代码就是表示new 的是Father的实现类,这个实现类是个匿名内部类。
其实拆分上面的匿名内部类可为
class SonOne extends Father{
... //这里的代码和上面匿名内部类,大括号中的代码是一样的
}
public class Test{
Father f1 = new SonOne() ;
}

一般都能看出来的。
一般的格式是
new XXX({在这里进行操作即可});

你在看代码的时候,注意这点就行了