在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