码如下
interface Inter
{
void show();
}
class Outer
{
public static Inter method()
{
return new Inter()
{
public void show()
{
System.out.println("inner class show");
}
};
}
}
class InnerClassDemo
{
public static void main(String[] args)
{
Outer.method().show();
}
}
分析:主函数是 Outer.method().show();,由Outer.method().可知道method()方法是一个静态函数,直接由外部类调用,后面的.show();是接口的方法,所以Outer.method().返回的是一个对象,用于调用show() 方法,所以使用匿名内部类,但结果是编译通过,运行时出现错误,截图如下,请各位看看问题出在哪里了?
|
|