zoukankan      html  css  js  c++  java
  • Java 执行顺序

     JAVA执行顺序如下:

      1.首先加载所有类中调到的class。

      2.先加载父类,再加载子类。

      3.加载过程中,会执行静态代码块。

      4.new Constructor()的时候会先执行 代码块{},再执行 Constuctor();

      5.静态变量在加载过程中赋值,与静态代码块是从上到下的执行顺序。

    所以输出结果为:

      1.父类静态代码块。

      2.子类静态代码块。

      3.父类 代码块。

      4.父类构造函数。

      5.子类代码块。

      6.子类构造函数。

     1 package test_static;
     2 
     3 public class Fathor {
     4     public String name="fathor";
     5     public static String sex="man";
     6     
     7     {
     8         System.out.println("this is fathor's 代码块!");
     9     }
    10     
    11     static{
    12         sex="male";
    13         System.out.println("this is fathor's 静态代码块!");
    14     }
    15     
    16     public Fathor() {
    17         System.out.println("Fathor'sex is :"+sex);
    18         System.out.println("this is Fathor's Constructor");
    19     }
    20 }
     1 package test_static;
     2 
     3 public class Son extends Fathor{
     4     public String name = "son";
     5     
     6     public static String sex="man";
     7     
     8     {
     9         System.out.println("this is son's 代码块!");
    10     }
    11     
    12     static{
    13         sex="male";
    14         System.out.println("this is son's 静态代码块!");
    15     }
    16     
    17     public Son() {
    18         System.out.println("this is son's Constructor");
    19         System.out.println("son sex is "+sex);
    20     }
    21 }
    1 package test_static;
    2 
    3 public class Test {
    4     public static void main(String[] args) {
    5         Son s = new Son();
    6     }
    7 }

     执行结果:

    1 this is fathor's 静态代码块!
    2 this is son's 静态代码块!
    3 this is fathor's 代码块!
    4 Fathor'sex is :male
    5 this is Fathor's Constructor
    6 this is son's 代码块!
    7 this is son's Constructor
    8 son sex is male
  • 相关阅读:
    开启Nginx代理HTTPS功能
    Linux查找运行程序主目录
    Linux命令记录
    Eclipse 安装 阿里P3C编码规范插件
    Elasticsearch(ES)(版本7.x)数据更新后刷新策略RefreshPolicy
    JS小技巧
    改变窗口或屏幕大小时调用function
    毛玻璃效果 | fifter
    position: sticky;不一样失效原因
    mysql 修改密码问题 5.6,5.7 (配置方式的skip-grant-tables可能不行,推荐命令行方式)
  • 原文地址:https://www.cnblogs.com/Junqiang/p/5391075.html
Copyright © 2011-2022 走看看