编程语言
首页 > 编程语言> > 【java】学习路线-9

【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("内部类");
    }
}

标签:学习,InnerClass,java,name,OuterClass,路线,new,public,String
来源: https://www.cnblogs.com/remyuu/p/15987794.html