本文通过一个例题来加深对匿名内部类的认识
题目:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
package
面向对象;
interface
In
{
void
method();
}
class
Test
{
//补足代码,通过匿名内部类
}
public
class
UnknownNameClass {
public
static
void
main(String[] args) {
Test.function().method();
}
}
|
分析这句话Test.function().method();
在Test类中有一个静态的方法function()无参,返回值先不确定,且这个方法会调用method方法,说明function的返回值是一个可以调用method方法的对象,那么就是In的子类。在function应该返回In的一个匿名子类对象。
补充代码如下:
|
1
2
3
4
5
6
7
8
9
10
|
public
static
In function()
{
return
new
In()
{
public
void
method() {
// TODO Auto-generated method stub
}
};
}
|
向上向下,正向逆向推理思想是编程中十分的必要,需要加强练习。
本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1656474,如需转载请自行联系原作者