百木园-与人分享,
就是让自己快乐。

【java】学习路线-9

//内部类只能在其外部类当中使用
//局部内部类:定义在方法里面
//如果内部类和外部类有重名,就近原则在内部类中优先访问内部类。
//如果想访问宿主类的同名成员,使用OuterClass.this.xxx
public class Learn10{
    public static void main(String[] a){
        OuterClass Otc = new OuterClass(\"一个外部类\");
        System.out.println(Otc.getName());
        Otc.test();
        
        //创建匿名的OuterClass和内部类对象
        OuterClass.InnerClass in = new OuterClass(\"匿名\").new InnerClass(\"内部\");
        //先创建OuterClass,再内部类对象
        OuterClass out = new OuterClass(\"out对象\");
        OuterClass.InnerClass inner = out.new InnerClass(\"in\");
        
    }
}
//外部类
class OuterClass{
    private String name ;
    public OuterClass(String name){
        this.name=name;
    }
    public String getName(){
        return this.name;
    }
    //内部类
    //1-非静态内部类
    //注意事项 里面没有static
    //外部类不能访问内部类的成员
    //内部类可以访问外部类的成员
    public class InnerClass{
        private String name;
        public InnerClass(String name){
            this.name=name;
            show();
        }
        
        public void show(){
            System.out.println(\"show了一个:\"+this.name);
        }
    }
    
    public void test(){
        InnerClass ic = new InnerClass(\"内部类\");
    }
}


来源:https://www.cnblogs.com/remyuu/p/15987794.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 【java】学习路线-9

相关推荐

  • 暂无文章