构造代码块:
是提供给一个类创建对象的时候,对对象进行通用的初始化,它与静态代码块不同的是,构造代码块只有当创建了对象,才会调用构造代码块。
class Person
{
{ //构造代码块,可以给所有对象进行初始化,是给对象进行通用的初始化。 //创建几个对象就调用几次。
System.out.prinln("person run");
}
private String name;
Person() //不同的构造函数是给对应的对象进行针对性的初始化。
{
name = "baby";
cry();
}
Person(String name)//不同的构造函数是给对应的对象进行针对性的初始化。
{
this.name = name;
cry();
}
public void cry()
{
System.out.prinln("哇哇~");
}
public void speak()
{
System.out.prinln("name:"+name);
}
}
class StaticCodeDemo
{
public static void main(String[] args)
{
Person p1 = new Person();
p1.speak();
Person p2 = new Person("张三");
p2.speak();
new Person();
}
}
输出为: