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

     1 package com.cn.donleo.test;
     2 
     3 /**
     4  * @author liangd
     5  * date 2020-10-20 15:23
     6  * code 代码执行顺序测试
     7  */
     8 public class TestCodeSequence {
     9     /*
    10      * 静态代码块,类变量(静态变量),可以向前引用(即引用,再定义)
    11      */
    12     static {
    13         username = "liangd1234";
    14         System.out.println("执行静态代码块");
    15     }
    16 
    17     /*
    18      *  类变量(静态变量),再类初始化之前初始化,无论类的实例被创建多少个,凡是被static修饰符修饰的,
    19      *  都将按照顺序执行,所以输出的是liangd,而不是liangd1234
    20      */
    21 
    22     /**
    23      * 类变量(静态变量)
    24      */
    25     public static String username = "liangd";
    26 
    27     /**
    28      * 实例变量(非静态变量),定义时被赋予初始值,会比在构造器赋予值更早执行
    29      */
    30     private String phone = "18090287931";
    31 
    32     /*
    33         非静态代码块 实际上,非静态代码块在类初始化创建实例时,将会被提取到类的构造器中,
    34         但是,非静态代码块会比构造器中的代码块优先被执行,
    35         所以phone输出的值是构造器中定义的值,不是非静态代码块的值,更不是初始值。
    36      */
    37     {
    38         phone = "liangd18090287931";
    39         System.out.println("执行代码块");
    40     }
    41 
    42     /**
    43      * 构造方法
    44      */
    45     private TestCodeSequence() {
    46         phone = "15982600186";
    47         System.out.println("执行构造方法");
    48     }
    49 
    50     public static void main(String[] args) {
    51         TestCodeSequence testCodeSequence = new TestCodeSequence();
    52         System.out.println(username);
    53         System.out.println(testCodeSequence.phone);
    54     }
    55 
    56 }
  • 相关阅读:
    洛谷—— P1187 3D模型
    商铺项目(Redis缓存)
    商铺项目(使用DES加密配置信息)
    Linux下tomcat启动项目原因排查
    商铺项目(商品详情页开发)
    商铺项目(店铺详情页开发)
    商铺项目(店铺列表开发)
    商铺项目(首页前端开发)
    商铺项目(首页后台开发)
    商铺项目(商品类别模块二)
  • 原文地址:https://www.cnblogs.com/donleo123/p/14073568.html
Copyright © 2011-2022 走看看