• java类创建时里面成员执行的先后顺序


    静态代码块在类第一次使用的时候执行一次,在构造函数执行之前执行。只要用到类,哪怕new对象(比如只声明变量)也会被执行,且只执行一次。一般用于对类进行初始化。

    先执行静态代码块,静态成员(谁在前就先执行谁)。无论new几次 静态代码块和静态成员只执行一次

    再执行成员变量,最后构造函数。new几次 成员变量和构造函数 执行几次。

    代码:

    1.声明StaitcBlock类

    public class StaticBlock1 {
        private static String TAG="333";
    
        //成员变量
        private  int age1=setAge();
    
        //构造函数
        public  StaticBlock1(){
            Log.e(TAG, "构造函数");
        }
    
        //静态代码块
        static{
            Log.e(TAG, "静态代码块 " );
        }
    
        //静态成员
        private static int age2=setAge2();
    
    
        public static void main(String[] args) {
            StaticBlock1 b1=new StaticBlock1();
    
            StaticBlock1 b2=new StaticBlock1();
        }
    
    
    
        private int setAge(){
            Log.e(TAG, "getAge1: 方法1" );
            return 3;
        }
    
        private static int setAge2(){
            Log.e(TAG, "getAge2: 方法2" );
    
            return 333;
        }
    
    }

    2.在Activity中创建StaticBoloc类

     Log.e(TAG, "onCreate: ------------------------开始" );
            StaticBlock1 b1=new StaticBlock1();
            Log.e(TAG, "----------------------------------------------------------------------------------" );
            StaticBlock1 b2=new StaticBlock1();

    3.结果

  • 相关阅读:
    PHP引用传值
    PHP快速排序
    PHP冒泡排序法
    Jquery EasyUI datagrid后台数据表格生成及分页详解
    polymer 测试
    imooc movie
    test markdown
    MEAN 27
    MEAN 26
    nodejs 负载均衡
  • 原文地址:https://www.cnblogs.com/wangjiaghe/p/7073625.html
Copyright © 2020-2023  润新知