下面我列出个程序,能看懂这个程序的错误相信对内部类的理解就变得容易多了
<pre name="code" class="java">class InnerClassDemo6 {
static class Inner{
void show(){
System.out.println("11111");
}
}
public void method(){
this.new Inner().show();
}
public static void main(String[] args) {
This.new Inner().show();
}
}
在这个程序中有两个错误的地方
另外一个程序,补足程序,用到匿名内部类的知识
interface Inter{
void show();
}
class Outer{
//在这里补足程序
}
class InnerClassDemo7 {
public static void main(String[] args) {
Outer.method().show();
答案为:
public static Inter method(){
return new Inter(){public void show(){
System.out.println("11111");
}
};
Outer.method():意思是:Outer中有一个名称为method的方法,而且这个方法是静态的。
Outer.method().show():当Outer类调用静态的method方法运算结束后的结果又调用了show方法,意味着:method()方法运算完一个是对象,而且这个对象是Inter类型的。