1.默认初始化
默认初始化为最先执行的初始化,在类的属性定义时就进行,如:
这是一个Employee抽象类,其中的name与number在定义完成时会被赋初值,String型为Null,int型为0。
2.显示初始化
显示初始化可以理解为通过函数构造器创建一个对象=>“由执行类实例创建表达式而引起的对象创建”,如
Entity e = new Entity;
这里新建了一个对象,且并未赋任何值,这时会赋给对象一个默认值。
3.代码块初始化
一个类中可以有多个初始化块,相同类型的初始化块按顺序执行。初始化块要么不写修饰符,要么用sstatic修饰,用static修饰的叫静态代码块。代码块里可以包括任何可执行语句。
普通初始化块、声明实例属性值都可以被认为是对象的初始化代码。初始化块在创建对象时隐式地执行,在构造器之前执行。与构造器类似的是,系统会一直上溯到Object类,先执行他的初始化块,再执行构造器,知道当前对象。
使用static修饰的代码块称为静态代码块,也成为类初始化块。它与类相关,系统在类初始化时执行,而不是在创建对象时执行。与初始化块先相似的是,类初始化时也会上溯到Object类,执行它的静态代码块,直到自身。只有类初始化完成之后,才可以在系统中使用这个类,包括方法访问、属性访问、创建实例。
4.构造器中初始化
既在main函数中通过调用有参构造方法进行初始化,并赋上想要的值
5.通过对象.属性方法赋值
与4类似,但调用的是类创建时默认的无参构造法。