想问下,这种有没有实际运用场景的。
public class Test {
public int test() {
// 把类C定义成局部变量
class C{
public int num = 1;
}
C c = new C();
return c.num;
}
public static void main(String[] args) {
// 把类B定义成局部变量
class B {
public int n = 3;
}
Object o = (Object) new B();
B b = (B) o;
System.out.println(b.n);
System.out.println(new Test().test());
}
}
在方法中有两种方式定义类:
public void myMethod()
{
// 匿名内部类
Runnable r = new Runnable() {
public void run() {}
};
// 局部内部类
class LocalClass implements Runnable
{
public void run() {}
}
}
你的就是局部内部类,在使用上和匿名内部类效果上是一样的,我想大多数人更倾向于使用匿名内部类。它们有如下特点:
1。能访问方法中的final变量
2。外部包括本类中的其他方法都是不可见的
3。实际开发中最常见的使用方式,就是实现Runnable了。