本文通过一个例题来加深对匿名内部类的认识
题目:
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,如需转载请自行联系原作者