开发者社区> 问答> 正文

Java中把类定义成局部变量有什么实际意义吗?

想问下,这种有没有实际运用场景的。

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());
    }
}

展开
收起
蛮大人123 2016-03-05 16:29:59 2041 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    在方法中有两种方式定义类:

       public void myMethod()
        {
            // 匿名内部类
            Runnable r = new Runnable() {
                public void run() {}
            };
    
            // 局部内部类
            class LocalClass implements Runnable
            {
                public void run() {}
            }
        }

    你的就是局部内部类,在使用上和匿名内部类效果上是一样的,我想大多数人更倾向于使用匿名内部类。它们有如下特点:
    1。能访问方法中的final变量
    2。外部包括本类中的其他方法都是不可见的
    3。实际开发中最常见的使用方式,就是实现Runnable了。

    2019-07-17 18:53:44
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载