Java中静态代码块以及构造方法等执行顺序
2017-07-20 11:06
585 查看
Java中静态代码块,静态方法,静态变量,构造方法,普通变量,普通方法先后执行顺序,记录一下。以下为测试代码:
下面开始进行测试:
1. 首先new出一个空对象
输出结果:
此处静态代码块正在执行!
这是空构造方法
这是带属性构造方法
得到结论:静态代码块在构造方法之前执行
public class TestOrder { private String userName; private int age; private static String sex; static{ System.out.println("此处静态代码块正在执行!"); } public TestOrder() { System.out.println("这是空构造方法"); } public TestOrder(String userName, int age) { super(); this.userName = userName; this.age = age; System.out.println("这是带属性构造方法"); } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public static void sayHi(){ System.out.println("静态方法---问好!"); } public void sayBay(){ System.out.println("非静态方法--告别"); } }
下面开始进行测试:
1. 首先new出一个空对象
public static void main(String[] args) { TestOrder order = new TestOrder(); TestOrder order2 = new TestOrder("haha",34); }
输出结果:
此处静态代码块正在执行!
这是空构造方法
这是带属性构造方法
得到结论:静态代码块在构造方法之前执行
1、虚拟机在首次加载Java类时,会对静态初始化块、静态成员变量、静态方法进行一次初始化 2、只有在调用new方法时才会创建类的实例 3、类实例创建过程:按照父子继承关系进行初始化,首先执行父类的初始化块部分,然后是父类的构造方法;再执行本类继承的子类的初始化块,最后是子类的构造方法 4、类实例销毁时候,首先销毁子类部分,再销毁父类部分
相关文章推荐
- Java初学者Paulmarkyes---中静态代码块,普通代码块,构造代码块,构造方法先后执行顺序以及区别
- 关于java代码中静态代码块、非静态构造代码块以及构造方法的执行顺序
- java静态代码块和构造方法执行顺序
- java静态代码块、初始化块和构造方法的执行顺序
- java静态代码块和构造方法执行顺序
- Java中静态代码块,非静态代码块,以及父类与子类的构造方法的之间调用顺序
- Java继承中父类子类构造方法、静态代码块、非静态代码块的执行顺序
- JAVA静态代码块执行过程 以及和构造方法的区别
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- Java子父类间静态代码块、构造代码块、构造方法的执行顺序
- 黑马程序员——Java基础---静态代码块和构造方法执行顺序
- JAVA中的代码块、静态代码块、构造方法、main方法执行顺序
- java静态代码块和构造方法执行顺序
- java静态代码块、初始化块和构造方法的执行顺序解析
- 【转】java静态代码块和构造方法执行顺序
- 学习总结:java面试方法重写详解,静态代码块和构造方法执行顺序问题
- java静态代码块、构造方法、构造块的执行顺序
- java静态代码块和构造方法执行顺序
- 【JAVA】探究JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- 关于java中子类,父类中,静态代码块: staic{},动态代码块:{},构造方法,类属性,对象属性等执行顺序做个总结: