Java中有几种代码块代码块,他们的执行顺序是什么,如何能够更好的区分,了解以及掌握他们

解决方案 »

  1.   


    LZ执行一下。一切都明白了;class AB {
        static{
            System.out.println("我来了AB");
        }
        private static AB obj = new AB();
        public static int num1 ;    public static int num2 = 0;    private AB() {
            System.out.println("我来了AB构造函数");
            num1++;
            num2++;
            // ystem.out.println(+num1);
            // ystem.out.println(+num2);
        }    public static AB getInstance() {
            System.out.println("我来了实例");
            return obj;
        }
    }
        public class CsdnTest {
            static{
                System.out.println("我来了CsdnTest");
            }
            public static void main(String[] args) {
                System.out.println("我来了main");
                AB obj = AB.getInstance();
                System.out.println("obj.num1=" + obj.num1);
                System.out.println("obj.num2=" + obj.num2);
                double f = 111231.5585; 
                BigDecimal b = new BigDecimal(f); 
                double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
                System.out.println(f1);
            }
        }
      

  2.   

    静态代码块先执行
    --signature------------------
    http://www.mowker.com/qklb/
      

  3.   


    静态代码块肯定是先执行的而且是在类加载器加载这个类的时候就执行,还有就是静态变量也是在加载的时候初始化的,在你的应用中只会有一份该静态变量,不管你new多少个对象持有的也是这一份
      

  4.   

    这个可以再添加一个动态代码块,如下
        {
            System.out.println("我是动态滴");
        }