A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

静态方法、构造代码块,静态代码块都是随着类加载而加载吗?但是如果三个放在同一个对象里,先运行谁?还是按照位置顺序?

3 个回复

正序浏览
首先执行静态代码块,其次构造代码块,静态方法只是说能通过类名直接调用,不用创建对象,如果你不调用方法,静态方法也不会执行
回复 使用道具 举报

构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
回复 使用道具 举报
静态随着类的加载而加载,一旦类被创建,静态代码块就给这个类进行了初始化,而且只初始化一次,即便创建很多该类对象,静态代码块也不会再执行,而构造代码块是每次创建类的对象时都给对象进行初始化,静态优先于对象存在
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马