1 构造器
构造器的名称必须与类名完全相同,且没有返回类型的指定。
如果不写,类中会提供一个默认空参数列表的构造器,如果创建了构造器,此默认构造器则不存在。
new对象时默认会调用构造器,并分配内存空间。
当创建子类对象时,需要先调用父类构造器(Object是*父类),如果有静态块则优先执行,如果有初始化块则优先于构造器执行
执行结果:
静态初始化块和非晶态初始化块的区别?
非静态初始化块主要是用于对象的初始化操作,在每次创建对象的时都要调用一次,其执行顺序在构造方法之前。在初始化块之前有static修饰,则为静态初始化块。由于非静态成员不能再静态方法中使用,同样也不能在静态初始化块中,因此,静态初始化块主要用于初始化静态变量和静态方法,静态初始化块只调用一次,是在类的第一次加载到内存时,并非一定要创建对象才执行,静态初始化块比非静态初始化块先执行。
2 方法重载
同一个类,多个同名方法。
修改参数列表,方法名加上参数列表称为方法签名。