zoukankan      html  css  js  c++  java
  • 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.结果

  • 相关阅读:
    Kubernetes DNS服务配置案例
    Dockerfile常用指令
    Docker常用命令
    Kubernetes常用命令
    阿里云ECS安装Kubernetes问题收集与解答
    712. Minimum ASCII Delete Sum for Two Strings
    845. Longest Mountain in Array
    815. Bus Routes
    204. Count Primes
    190. Reverse Bits
  • 原文地址:https://www.cnblogs.com/wangjiaghe/p/7073625.html
Copyright © 2011-2022 走看看