java对象加载流程

public class TestDy {

    static int i=0;
    
    public int getInt(){
        i++;
        return i;
    }
}

public static void main(String[] args) {
 
        while(true){
            TestDy t=new TestDy();
            int i=t.getInt();
            System.out.println("i=="+i);
            try {
                Thread.sleep(20000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

    }

结果:

i=1

i=2

i=3

说明:  静态方法在类加载时加载并赋予初始值加载到方法区。。因此无论创建多少个对象都不会初始化静态变量的值

注: 加载流程为 静态变量或静态代码块(看先后顺序)-->静态方法-->构造方法-->实例变量-->方法

猜你喜欢

转载自blog.csdn.net/weixin_41929877/article/details/80522475