静态变量,方法的加载顺序

public class Parent {
//第零步,首先定义iz,iy两个变量,并初始化为0(因为是int类型,如果是对象则为null)
private static int iz = getNext(2); //第一步,因为有方法调用,所以转到方法,即第二步
private static int iy=99; //第三步


//静态初始化块
static //第四步
{
System.out.println("parent的静态初始化块");
System.out.println(iz); //这里因为第二步,iz=3
System.out.println(iy); //这里因为第三步,iy=4
}


public static int getNext(int base) //第二步,方法调用
{
System.out.println("parent的static int getNext(int base)被调用");
System.out.println(iy); //iy初始化为0
System.out.println(iz); //iz初始化也为0,这里就说明先走变量定义,对于int类型,初始化为0
return ++base;
}

public static void t() //这里没有执行,这就说明了,方法不调用,就不会被加载,所以如果第一步不调用getNext方法,第二步就不会执行,就会直接到第三步
{
System.out.println("parent的static void t被调用");
System.out.println(iz);

}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值