代码块和代码块的执行顺序

构造方法

构造方法是类的一种特殊方法,用来初始化类的一个新的对象。没个类都有构造方法,构造方法和类名相同,而且没有返回类型,构造方法的默认返回类型就是对象本身,并且构造方法不能被static、final、synchronized、abstract、native修饰。
同时一个类可以有多个构造方法,只要参数不同
子类构造方法调用父类构造方法
构造方法是不能被继承的,子类构造方法都是要调用父类的构造方法的。
子类构造方法要么调用父类的无参构造,或者有参构造。当子类构造方法没有显式调用父类构造方法时,子类构造方法会默认隐式调用父类的无参构造器。如果你显式调用父类的无参构造方法,用super(),这个super()要放在构造方法第一句,否则编译会出错。如果调用有参构造方法,在super(相关参数)中添加相关参数。
当子类构造方法是无参构造方法,调用父类的无参构造方法。
当子类有参构造方法,没有显示用super()带参数的,那也是调用父类的无参构造方法。有显式调用super(参数)的,调用父类有参构造方法,但是如果父类没有这个和参数一致的有参构造时,会报错。
代码块种类
普通代码块,局部代码块,构造代码块,静态代码块,同步代码块
普通代码块:就是方法体
构造方法块
会在创建对象是被调用,每次创建都会被调用,优先于类构造器执行。位于方法之外,也就是类成员位置。作用是,把多个构造方法共同部分提取出来,共用构代码块。因为每次实例化新对象都会先被调用。
局部代码块
位于方法里面,当调用包含局部代码块的这个方法时,这个代码块被执行,一般一次性调用,调用完立即被释放。
静态代码块
位于类成员位置,用static修饰。用于对类初始化,只加载一次,当实例化多个对象时,只有第一次会调用静态代码块,原因是静态代码块被执行后,就会保存在内存中。

主类中的静态块会优先于main执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值