1、构造方法
1.1概述
构造方法,是一种特殊的方法,它是一个与类同名的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。构造方法和其他方法一样也可以重载。《来自百度百科》
1.2构造方法的使用
语法://初始化代码
访问修饰符 构造方法名(){
}
例如:
public class Person {
private String nickName;
private int gender;
private int age;
//无参构造
public Person() {
}
//有参构造
public Person(String nickName, int gender, int age) {
this.nickName = nickName;
this.gender = gender;
this.age = age;
}
1.3构造方法的作用
构造方法作用:
(1)构造出来一个类的实例
(2)对构造出来个一个类的实例(对象)初始化
1.4构造方法的注意事项
- 构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
- 如果类中没有无参的构造方法,系统会给出默认的无参构造方法。
- 构造方法一般都是public的,才能被系统调用。
- 不能被static、final、synchronized、abstract和native修饰。
- 无参构造在给对象属性赋值时比较麻烦,带参构造方法会令对象的创建更方便。
- 主要完成对象的初始化工作,构造方法的调用是在创建一个对象时使用new操作进行。
- 当类有了带参构造方法之后,系统不再自动生成默认的无参构造方法,若使用需重新定义。
- 构造方法只能用于创建对象时,不能在程序中像调用其他方法一样调用它,但是可以用this()的形式在其他构造方法中调用它,注意this()必须在第一行。
2、静态代码块与构造代码块
2.1概述
静态代码块:JVM加载类时,加载静态代码块,如果有多个静态块,按顺序加载,每个静态代码块只会被执行一次。
语法://静态代码块
static {
}
构造代码块:每次创建对象会调用。用于执行所有对象均需要的初始化动作。
语法://构造代码块
{
}
5.2注意事项
静态代码块:
(1)使用static修饰的代码块,第一次创建对象调用,再创建其他对象时不再重复调用,访问静态成员时也调用,只调用一次。
(2)优先于主方法和构造代码块,只调用一次,可提供给所有对象所共同拥有的东西。
构造代码块:
(1)与构造方法一样是在类的实例化的过程中被执行。
(2)优先于构造方法执行。
(3)每次被实例化的过程中都会被调用。
综上所述,执行优先级为:静态代码块--> 构造代码块-->构造方法



