Java中静态初始化块、初始化块和构造方法的执行过程
2013-06-04 00:31
323 查看
最近比较忙,直接转载现成的。
本文转载地址为:http://advance0683.iteye.com/blog/1107653
Java中静态初始化块、初始化块和构造方法的执行过程
例子:
Java代码
package classmate;
public class Team {
public static void main(String[] args) {
Person p = new Person();
System.out.println("------------------------------");
Person p1 = new Person();
}
}
class Person{
//构造方法
public Person(){
System.out.println("Person Constructor...");
}
//初始化代码块
{
System.out.println("Person Initialization Block...");
}
//静态代码块
static {
System.out.println("Person Static Block...");
}
}
运行结果:
Java代码
Person Static Block...
Person Initialization Block...
Person Constructor...
------------------------------
Person Initialization Block...
Person Constructor...
当创建第一个Person对象p的时候,执行顺序应该是 静态代码块 > 初始化代码块 > 构造方法,但是当创建第二个Person对象p1的时候,执行顺序就变成了 初始化代码块 > 构造方法。原因很简单,因为 静态代码块只会在类第一次装入系统中才会执行,以后类在装入系统的时候,它就不执行了。
本文转载地址为:http://advance0683.iteye.com/blog/1107653
Java中静态初始化块、初始化块和构造方法的执行过程
例子:
Java代码
package classmate;
public class Team {
public static void main(String[] args) {
Person p = new Person();
System.out.println("------------------------------");
Person p1 = new Person();
}
}
class Person{
//构造方法
public Person(){
System.out.println("Person Constructor...");
}
//初始化代码块
{
System.out.println("Person Initialization Block...");
}
//静态代码块
static {
System.out.println("Person Static Block...");
}
}
运行结果:
Java代码
Person Static Block...
Person Initialization Block...
Person Constructor...
------------------------------
Person Initialization Block...
Person Constructor...
当创建第一个Person对象p的时候,执行顺序应该是 静态代码块 > 初始化代码块 > 构造方法,但是当创建第二个Person对象p1的时候,执行顺序就变成了 初始化代码块 > 构造方法。原因很简单,因为 静态代码块只会在类第一次装入系统中才会执行,以后类在装入系统的时候,它就不执行了。
相关文章推荐
- java静态代码块、初始化块和构造方法的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序【转】
- java静态代码块、初始化块和构造方法的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序解析
- JAVA静态代码块执行过程 以及和构造方法的区别
- java静态代码块、初始化块和构造方法的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序
- java静态代码块、初始化块和构造方法的执行顺序
- java中静态初始化块、初始化块和构造方法的理解
- Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序
- java中构造方法的执行过程
- java中静态代码块 构造代码块 构造方法的执行顺序及注意问题
- java静态代码块和构造方法执行顺序
- JAVA中静态代码块、构造方法、Super()父类与子类之间执行顺序
- java中父类的静态代码块,非静态代码块,构造方法,子类的静态代码块,构造方法等先后执行顺序
- Java子父类间静态代码块、构造代码块、构造方法的执行顺序
- java静态代码块和构造方法执行顺序
- 黑马程序员——Java基础---静态代码块和构造方法执行顺序
- java中静态代码块和构造方法执行顺序