跳转至

内部类

内部类

public class OuterClass {

    private String name = "malinkang";
    private int age = 27;

    public class InnerClass {

        private int x = 100;

        private void sayAge() {
            System.out.println(name + " age is " + age);
        }
    }

    public static void main(String[] args) {
        OuterClass outerClass = new OuterClass();
        OuterClass.InnerClass innerClass = outerClass.new InnerClass();
        innerClass.sayAge(); //malinkang age is 27
        System.out.println(innerClass.x); // 100
    }
}

静态内部类:

  1. 静态内部类创建不依赖外部类
  2. 不能使用任何外部类的非static成员变量和方法
public class OuterClass {

    private static String name = "malinkang";
    private static int age = 27;

    public static class InnerClass {

        private  int x = 100;

        private static void sayAge() {
            System.out.println(name + " age is " + age);
        }
    }

    public static void main(String[] args) {
        OuterClass.InnerClass innerClass = new InnerClass();
        System.out.println(innerClass.x); // 100
        InnerClass.sayAge(); //malinkang age is 27

    }
}

参考

评论