码迷,mamicode.com
首页 > 其他好文 > 详细

局部类

时间:2017-12-09 12:01:44      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:ace   where   同名   方法   stat   .class   final   $2   局部类   

public class Parcel5 {
    public Destionation destionation(String str){
        class PDestionation implements Destionation{
            private String label;
            private PDestionation(String whereTo){
                label = whereTo;
            }
            public String readLabel(){
                return label;
            }
        }
        return new PDestionation(str);
    }
    
    public static void main(String[] args) {
        Parcel5 parcel5 = new Parcel5();
        Destionation d = parcel5.destionation("chenssy");
    }
    
    private interface Destionation{};
}

局部类是嵌套类,但不是成员类,而且有名称(不是匿名类)。

局部类所属范围:在块、构造器以及方法内,这里的块包括普通块和静态块。局部类只在本块范围内有效。

局部类最多只能有final修饰

局部类只能访问(使用)这个块中(局部类外)final属性。这里的块包括了上面说的块、构造器、方法。

 

public class Test {
    {
        class AA{}//块内局部类
    }
    public Test(){
        class AA{}//构造器内局部类
    }
    public static void main(String[] args){
    }
    public void test(){
        class AA{}//方法内局部类
    }
}
//注意到了吧,可以同名,编译后,形成诸如:外部类名称+$+同名顺序+局部类名称
//Test$1AA.class/Test$2AA.class/Test$3AA.class

 

局部类

标签:ace   where   同名   方法   stat   .class   final   $2   局部类   

原文地址:http://www.cnblogs.com/tonggc1668/p/8010833.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!