----------------------------------天道酬勤
1.构造代码块
{
//构造代码块,用于初始化
}
2.静态代码块
static{
//静态代码块
}
随着类的加载而加载,生命周期为类的生命周期。
代码如下:
class Person
{
Person()
{
System.out.println("父类构造函数运行中");
}
}
public class Student extends Person
{
private String id;
private String name;
private int age;
//构造代码块
{
System.out.println("构造代码块运行中...");
}
//静态代码块
static{
System.out.println("静态代码块运行中");
}
//构造函数
Student(String id,String name,int age)
{
System.out.println("带参构造函数运行中...");
this.id=id;
this.name=name;
this.age=age;
}
Student()
{
System.out.println("空参构造函数运行中...");
}
public String toString()
{
return "学号:"+this.id+"姓名:"+this.name+"年龄:"+this.age;
}
}
class ConstructorDemo
{
public static void main(String[] args)
{
Student s=new Student("2019111","小乔",26);
System.out.println(s);
}
}
运行结果如下:
执行顺序:
1.默认初始化,静态代码块
2.进入构造函数
3.super,执行父类的构造函数
4.显示初始化
5.构造代码块
6.构造函数体