黑马程序员技术交流社区

标题: 静态方法和构造代码块,静态代码块的区别? [打印本页]

作者: 小车车    时间: 2015-5-26 13:08
标题: 静态方法和构造代码块,静态代码块的区别?
静态方法、构造代码块,静态代码块都是随着类加载而加载吗?但是如果三个放在同一个对象里,先运行谁?还是按照位置顺序?
作者: 想要那片海    时间: 2015-5-26 13:42
静态随着类的加载而加载,一旦类被创建,静态代码块就给这个类进行了初始化,而且只初始化一次,即便创建很多该类对象,静态代码块也不会再执行,而构造代码块是每次创建类的对象时都给对象进行初始化,静态优先于对象存在
作者: forTomorrow    时间: 2015-5-26 16:17

构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。
静态代码块:在java中使用static关键字声明的代码块。静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次。由于JVM在加载类时会执行静态代码块,所以静态代码块先于主方法执行。
作者: l598790586    时间: 2015-5-26 17:08
首先执行静态代码块,其次构造代码块,静态方法只是说能通过类名直接调用,不用创建对象,如果你不调用方法,静态方法也不会执行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2