1.尝试在方法中编写一个匿名内部类。
package com.lzw;
public class AnonymityInnerClass {
}
class OuterClass4{
public OutInterface doit(final String s){
return new OutInterface(){
private int i=0;
public int getValue(){
System.out.println(s);
return i;
}
public void f(){
System.out.println("f()");
}
};
}
}
interface OutInterface { // 定义一个接口
}
匿名内部类:new OutInterface(){
.......
}写在了外部类Outerclass4的方法中。
2.尝试将主方法编写在静态内部类中。
package com.lzw; public class StaticInnerClass { int x=100; static class Inner{ void doitInner(){ //System.out.println("外部类"+x); } public static void main(String args[]){ System.out.println("a"); } } }
注:静态内部类的最大特征就是不能使用外部类的非静态成员。
3.尝试编写一个静态内部类,在主方法中创建其内部类的实例。
package test;
public class StaticInnerClass {
static class a{
void f(){
System.out.println("f()");
}
}
public static void main(String args[]){
StaticInnerClass.a a=new a();
a.f();
}
}