欢迎来到天天文库
浏览记录
ID:39550084
大小:89.50 KB
页数:8页
时间:2019-07-06
《JAVA程序执行顺序,你了解了吗?》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA程序执行顺序,你了解了吗?本文主要介绍以下两块内容的执行顺序,熟悉的大虾可以直接飘过。 一。JAVA中执行顺序1.静态块2.块3.构造器4.父类构造器 二。JAVA中赋值顺序1. 静态块直接赋值2. 块直接赋值3. 父类继承的属性已赋值4. 静态变量声明时赋值5. 成员变量声明时赋值6. 构造器赋值 第一部分很好测试,我们只需要写一个子类,类中定义一个静态块,一个普通块,一个构造器,它的父类构造器,都打印一条语句,即可明白它们直接的执行顺序 Mastiff类 Java代码
2、 1./** 2. * 子类藏獒 3. */ 4.public class Mastiff extends Dog { 5. public Mastiff() { 6. System.out.println("Mastiff"); 7. } 8. 9. { 10. System.out.println("block"); 11. } 12. static { 13.
3、 System.out.println("static block"); 14. } 15. 16. public static void main(String[] args){ 17. Mastiff mastiff=new Mastiff(); 18. 19. } 20.} 21. DOG类 Java代码 1./** 2. *DOG
4、父类 3. */ 4.public class Dog { 5. public Dog() { 6. System.out.println("Dog"); 7. } 8.} 9. 运行结果为:staticblockDogblockMastiff 也就是说,在我们的程序中,实例化一个类对象的时候,运行顺序为:1. 静态块2. 父类构造器3. 本类中的块4. 本类的构造器 我们可以更进一步,如果在父类中也有块和静态块呢? DOG类改进后源码 Java代码
5、1./** 2. *DOG父类 3. */ 4.public class Dog { 5. public Dog() { 6. System.out.println("Dog"); 7. } 8. static{ 9. System.out.println("super static block"); 10. } 11. 12. { 13. Sys
6、tem.out.println("super block"); 14. } 15.} 16. Mastiff改进后源码Java代码 1./** 2. * 子类藏獒 3. */ 4.public class Mastiff extends Dog { 5. public Mastiff() { 1. System.out.println("Mastiff"); 2. } 3.
7、 4. { 5. System.out.println("block"); 6. 7. } 8. static { 9. System.out.println("static block"); 10. } 11. 12. public static void main(String[] args){ 13. Mastiff mastiff=new Mastiff(); 14.
8、 } 15.} 16. 运行的结果为:superstaticblockstaticblocksuperblockDogblockMastiff 也就是说此时的运行顺序为:1. 父类静态块2. 自身静态块3. 父类块4. 父类构造器5. 自身块6. 自身构造器 好了,知道了运行的顺序,那么这是为什么呢? 这就要从JVM中类的装载机制和实例化机
此文档下载收益归作者所有