Java笔记总结(二十七)---代码块&创建对象时在类中代码块如何调用

  • 调用静态代码块和静态属性初始化
    静态代码块和静态属性初始化调用的优先级一样,如果有多个静态代码块和多个静态变量初始化,则按他们定义的顺序调用
  • 调用普通代码块和普通属性的初始化
    普通代码块和普通属性初始化调用的优先级一样,如果有多个普通代码块和多个普通变量初始化,则按他们定义的顺序调用
  • 调用构造器
public class StaticTest01 {
    public static void main(String[] args) {
        System.out.println(M.n1);
        System.out.println(M.n2);
        M m = new M();
        System.out.println(m.n3);
        System.out.println("================");
        M m1 = new M(9);
    }
}

class M {
    public static int n1 = 10;

    static {
        System.out.println("静态代码块被调用1");
    }

    public static int n2 = 30;

    static {
        System.out.println("静态代码块被调用2");
    }

    {
        System.out.println("非静态代码块被调用1");
    }

    public int n3 = 80;

    {
        System.out.println("非静态代码块被调用2");
    }

    public M() {
        System.out.println("无参构造器被调用");
    }
    public M(int n3) {
        System.out.println("有参构造器被调用");
    }
}

输出结果:
静态代码块被调用1
静态代码块被调用2
10
30
非静态代码块被调用1
非静态代码块被调用2
无参构造器被调用
80

================
非静态代码块被调用1
非静态代码块被调用2
有参构造器被调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值