黑马程序员技术交流社区
标题:
静态初始化器什么时候执行?
[打印本页]
作者:
【灰太狼】
时间:
2013-12-21 18:42
标题:
静态初始化器什么时候执行?
静态初始化器是在什么时候执行?不是创建对象的时候和构造函数一起执行把?
作者:
刘松703
时间:
2013-12-21 18:44
在加载构造函数之前
作者:
【灰太狼】
时间:
2013-12-21 18:46
刘松703 发表于 2013-12-21 18:44
在加载构造函数之前
什么意思,是创建一个对象的时候,先执行静态初始化器,然后在执行构造函数?
作者:
刘松703
时间:
2013-12-21 18:57
加载类时一般实现加载静态变量,公共变量,再加载构造函数的,你可以写代码,在一些地方加上输出语句观察以下其输出顺序
作者:
一年之后
时间:
2013-12-21 19:17
静态方法是随着类的加载而加载的。优先与对象存入内存中。
作者:
panzhenglian
时间:
2013-12-21 20:14
静态函数随着类的加载而加载,优先于构造代码块和构造函数,静态代码块又优先于静态函数
作者:
litaojisuanji
时间:
2013-12-21 20:57
静态代码构造器,在类加载的时候,就会执行,并且只会执行一次。
再次创建对象什么的,都不会再执行了。
作者:
弘一
时间:
2013-12-22 08:26
静态修饰后的成员变量和成员方法、静态代码块。都是随着类的加载而加载。
所以当你第一次创建对象时调用了一次类后,就只运行一次。然后再次创建对象
也不会执行,因为静态代码块是属于类的东西,而不是属于对象的
class A
{
static{
System.out.println("静态代码块");
}
{
System.out.println("构造代码块");
}
public A(){}
}
public class Test
{
public static void main(String[] args)
{
A a = new A();
A a1 = new A();
}
}
//运行结果
静态代码块
构造代码块
构造代码块
作者:
75100313
时间:
2013-12-22 08:43
静态代码块 构造代码块 执行该类类构造函数 给变量显示初始化
作者:
卖火柴
时间:
2013-12-22 09:32
静态方法,静态变量,静态初始化器 因为是静态的 所以按照你写的顺序执行
构造函数,属性都是属于实例化的东西,所以比非静态的后执行
作者:
城市儒侠
时间:
2013-12-22 09:53
你说的是静态代码块吧?
静态代码块
随着类的加载而执行。只执行一次。优先于主函数运行。
用于给类进行初始化。
eg:
class Person
{
static
{
静态代码块代码;
}
}
希望能对你有帮助。
作者:
恩恩
时间:
2013-12-22 11:01
AVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的,静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。
先初始化父类的静态代码--->初始化子类的静态代码-->
(创建实例时,如果不创建实例,则后面的不执行)初始化父类的非静态代码--->初始化父类构造函数--->初始化子类非静态代码--->初始化子类构造函数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2