某天晚上,对面的文哥一脸坏笑,嘚瑟着要问我复习到哪了。我说匿名内部类啊。他便要给我出题考完。
先不说结果 原题如下:
26. 匿名内部类的使用:(开发),其他代码不变下,在outer类里添加代码,实现控制台打印“HelloWorld”。
public class anonymousInnerText {
public static void main(String[] args) {
outer.method().show();
}
}
interface inner{
void show();
}
class outer{//此处写代码
}
对匿名内部类的理解还不够深入吧,这道题一看 我感觉坑点就是 outer方法中定义的内部类 只能在方法中访问。
能想到定义方法返回匿名内部类对象
class outer {
public static Inner method(){
return new Inner()
{
public void show()
{
System.out.println("hellow");
}
};
}
}
因为不能有构造器 所以Inner后面是:
不能在静态方法中引用非静态方法,所以用定义成静态method方法。