zoukankan      html  css  js  c++  java
  • 静态代码块(主要是注意执行顺序)

    静态代码块在类最初被使用的时候执行一次,在构造函数执行之前执行,而且只执行一次。
    只要用到类,哪怕没有new只是声明变量也会被执行但是只执行一次。
     
    (静态字段和静态代码块都是在类最初使用的时候执行一次)
     1  public class MyJingTaiDaimaKuai
     2     {
     3         public static int i = test1();//1.最开始执行
     4         public int age = test2();//new的时候先执行成员变量的初始化,再执行构造函数
     5  
     6         static MyJingTaiDaimaKuai()
     7         {
     8             Console.WriteLine("静态代码块");//2.再执行
     9         }
    10         public MyJingTaiDaimaKuai()//4.//6.
    11         {
    12             Console.WriteLine("构造函数");
    13         }
    14  
    15         public static int test1()
    16         {
    17             Console.WriteLine("test1");
    18             return 3;
    19         }
    20  
    21         public static int test2()//3.//5.
    22         {
    23             Console.WriteLine("test2");
    24  
    25             return 333;
    26         }
    27     }
    28  
    View Code

    执行代码

    1 MyJingTaiDaimaKuai a1 = new MyJingTaiDaimaKuai();
    2 Console.WriteLine(a1.age);
    3  
    4 MyJingTaiDaimaKuai a2 = new MyJingTaiDaimaKuai();
    5 Console.WriteLine(a2.age);
    View Code

    执行结果

     
     
    执行结果说明,先执行了静态字段和静态代码块,之后从上往下执行test2和构造函数,并且输出age值。
    当第二次运行的时候,静态字段和代码块不再执行,直接从上往下执行test2和构造函数。
  • 相关阅读:
    缓动函数速查表
    PHP递归题目
    linux下crontab定时执行本地脚本和定时访问指定url
    jsonp跨域js
    采用PHP函数uniqid生成一个唯一的ID
    php会话(session)生命周期概念介绍及设置更改和回收
    thinkphp3.2 学习
    PDO 查询mysql返回字段整型变为String型解决方法
    apache性能优化
    汉诺塔(四)(暴力)
  • 原文地址:https://www.cnblogs.com/lucyliang/p/4749162.html
Copyright © 2011-2022 走看看