当前位置:网站首页>Give priority to static member classes

Give priority to static member classes

2022-06-22 08:26:00 ambition_ forever

 Internal class type : Static member classes 、 Non static member class 、 An anonymous class 、 Local class , It is equivalent to the auxiliary class of the inner class .

public class StaticOrNoClass {

    //  Static member classes 
    static class A {
        public static String a = "123";
    }
    //  Non static member class 
    class B {
        public String b = "789";
    }
    private static String a = "456";
    private static String s1 = "s1";
    private String s2 = "s2";

    public static void main(String[] args) {
        // 1、 Static inner class 
        System.out.println(E02.A.a);
        System.out.println(A.a);
        System.out.println(E02.a);
        System.out.println(a);
        // 2、 Share static variables 
        E02 e021 = new E02();
        E02 e022 = new E02();
        System.out.println(e022.s1);
        e021.s1 = "s22";
        System.out.println(e022.s1);
        // 3、 Non static inner class belongs to instance , You need to instantiate the external class first , Then instantiate the inner class , Binding between inner and outer classes , influence GC
        B b = e021.new B();
        b.b = "hahha";
        System.out.println(b.b);
        // 4、 An anonymous class 
        new Thread(()->{
            System.out.println("1");
        }).start();

        // 5、 Inner class 
        LinkedHashMap<String, String> m1 = new LinkedHashMap();
        LinkedHashMap<String, String> m2 = new LinkedHashMap(){
            @Override
            protected boolean removeEldestEntry(Map.Entry eldest) {
                return size() > 2;
            }
        };

        m1.put("a", "a");
        m1.put("b", "b");
        m1.put("c", "c");
        m1.put("d", "d");

        m2.put("a", "a");
        m2.put("b", "b");
        m2.put("c", "c");
        m2.put("d", "d");

        System.out.println(m1.size());
        System.out.println(m2.size());
        System.out.println(m1);
        System.out.println(m2);

    }
}
原网站

版权声明
本文为[ambition_ forever]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202220528291525.html