十四、内部类

1.标准内部类:直接在大类中定义,内部类的方法可以获取外部类的私有属性

2. 静态内部类:直接在大类中定义,并在class之前加上static关键字

3. 成员内部类:在方法中定义

3. 匿名内部类:new对象,不把示例保存到变量中

public class Outer {

    private int i1 = 1;
    private static int i2 = 2;

    void out(){
        System.out.println("这是外部类的方法");
    }
    //标准内部类
    class Inner1{
        void in(){
            //可以获取外部类的私有属性
            System.out.println(i1);
            System.out.println("这是内部类的方法");
        }
    }

    //静态内部类
    static class Inner2{
        void in(){
            System.out.println(i2);
            System.out.println("这是内部类的方法");
        }
    }


    //局部内部类
    public void run(){
        class Inner3{
            void in(){
                System.out.println(i2);
                System.out.println("这是内部类的方法");
            }
        }
    }

    //测试
    public static void main(String[] args) {
        Outer outer = new Outer();
        Outer.Inner1 inner1 = outer.new Inner1();
        outer.out();
        inner1.in();
        
        
        //匿名内部类
        new Test().run();
    }

}
class Test{
    void run(){
        System.out.println("run");
    }
}

 

posted @ 2022-05-13 03:02  Epiphany8Z  阅读(24)  评论(0编辑  收藏  举报