• Java自由块(静态和非静态)(转载)


    java中的自由块分为两种:

    静态块和非静态块

    静态块:

     public class Test {
    2     static int x = 10;
    3     //静态块:静态块的执行时机是在class文件装载的时候;静态块只会执行一次
    4     //多个静态块的时候,按出现顺序执行
    5     static{
    6         x+=5;
    7     }
    8 }
    

    非静态块:

     public class Test {
    2     //非静态块:每次初始化一个对象,都会导致一次非静态块的执行;在构造函数执行之前执行
    3     //继承关系:父类的非静态块->父类的构造函数->自己的自由块->自己的构造函数
    4     {
    5         System.out.println("before");
    6     }
    7 }

    测试demo:

     public class Test {
     2 
     3     static int x = 10;
     4     //静态块:静态块的执行时机是在class文件装载的时候;静态块只会执行一次
     5     //多个静态块的时候,按出现顺序执行
     6     static{
     7         x+=5;
     8     }
     9     public static void main(String[] args) {
    10         new Test();
    11         System.out.println(x);
    12     }
    13     //静态块
    14     static {
    15         x/=3;
    16     }
    17     public Test(){
    18         System.out.println("构造函数");
    19     }
    20     //非静态块:每次初始化一个对象,都会导致一次非静态块的执行;在构造函数执行之前执行
    21     //继承关系:父类的非静态块->父类的构造函数->自己的自由块->自己的构造函数
    22     {
    23         System.out.println("before");
    24     }
    25 }

    控制台输出:

    before
    构造函数
    5
  • 相关阅读:
    VUE.js入门学习(2)-基础精讲
    VUE中的MVVM模式
    VUE.js入门学习(1)-起步
    Vuex 是什么
    Proxy
    VUE常见的语法
    ES6的一些语法
    Element
    Mock.js
    第一阶段:Python开发基础 day14 三元表达式 生成器 匿名函数
  • 原文地址:https://www.cnblogs.com/fengxiaolan/p/6013633.html
Copyright © 2020-2023  润新知