zoukankan      html  css  js  c++  java
  • Java类成员变量、普通成员变量、初始化块、构造方法的初始化和执行顺序

    结论:执行的大致顺序如下,

      (1) 在一个不存在继承的类中:初始化static变量,执行static初始化块-->初始化普通成员变量(如果有赋值语句),执行普通初始化块-->构造方法

      (2)在一个存在继承的类中:初始化父类static成员变量,运行父类static初始化块-->初始化子类static成员变量,运行子类static初始化块-->初始化父类实例成员变量(如果有赋值语句),执行父类普通初始化块-->父类构造方法-->初始化子类实例成员变量(如果有赋值语句)及普通初始化块-->子类构造方法。

     测试代码如下:(通过断点查看代码执行顺序)

    public class Student {
        public static int age=11;
        public static String name="lucky";
        public String address="天台";
        static {
            System.out.println("我是静态代码块");
        }
        public Student(){
            System.out.println("我是构造函数");
        }
        public static void test(){
            System.out.println(name);
            System.out.println(age);
        }
    }
    
    public class Sequence {
        public static void main(String[] args) {
            //Student.test();
            Student student=new Student();
        }
    }

    转自:https://blog.csdn.net/yuxin6866/article/details/52245765

  • 相关阅读:
    最近邻插值
    tp类型自动转换和自动完成
    tp读取器和写入器
    tp模型和数据库操作方法
    tp数据库操作
    tp请求和响应
    tp配置+路由+基本操作
    git的常见操作方法
    php 检查该数组有重复值
    公众号的TOKEN配置PHP代码
  • 原文地址:https://www.cnblogs.com/luckyplj/p/10294369.html
Copyright © 2011-2022 走看看