在java的学习过程中遇到了一个小知识点,就是构造代码块,感觉有点用,就记录一下。。
举个例子:
class Person { private int age; Person(int n) //构造函数 { if(n>0) age=n; else System.out.println("false"); } { cry(); //构造函数块 } public void cry() { System.out.println("cry....."); } public int getAge() { return age; } };构造代码块的作用是初始化不同对象的相同部分,如例子所示,不管对象是什么,均会cry,所以在一开始初始化对象时就执行构造代码块,而且构造代码块优先于构造函数,也就是说,先执行构造代码块在执行构造函数,与位置无关。。
class Demo { public static void main(String[] args) { Person p = new person(-4); } }; =========================================== 结果: cry........... false