如题是结论,如果有人问你Java类的成员初始化顺序和初始化块知识就这样回答他。下面是代码:

package com.test;public class TestClass{// 成员变量赋值第一个执行private static int m1=1;private int m2=1;// 静态构造函数第二个执行static{System.out.println("成员变量赋值先于静态构造函数 m1="+m1);m1=2;}// 构造函数第三个执行public TestClass(){System.out.println("静态构造函数先于构造函数 m1="+m1);m1=3;System.out.println("成员变量赋值先于构造函数 m2="+m2);m2=3;}public void printM1m2(){System.out.println("m1="+m1);System.out.println("m2="+m2);}public static void main(String[] args){TestClass t=new TestClass();t.printM1m2();}
}

控制台输出:

成员变量赋值先于静态构造函数 m1=1
静态构造函数先于构造函数 m1=2
成员变量赋值先于构造函数 m2=1
m1=3
m2=3

java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数相关推荐

  1. java类成员变量初始化_探讨Java类中成员变量的初始化方式

    在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...

  2. java面试题2 牛客:定义类中成员变量时不可能用到的修饰是

    懵逼树上懵逼果,懵逼树下你和我 第二题 定义类中成员变量时不可能用到的修饰是() A final B void C protected D static 一看到这道题,有点慌了,直接选c,很显然,我又 ...

  3. C++类中成员变量的初始化有两种方式

    C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值.下面看看两种方式有何不同. 成员变量初始化的顺序是按照在那种定义的顺序. 1.内部数据类型(char,int--指针等) ...

  4. C++类中成员变量的初始化总结

    C++类中成员变量的初始化总结 1. 普通的变量: 一般不考虑啥效率的情况下 可以在构造函数中进行赋值.考虑一下效率的可以再构造函数的初始化列表中进行.  1 class CA   2 {   3 p ...

  5. 类的成员变量赋值测试

    类的成员变量赋值过程 类的静态成员和非静态成员赋值过程,可以参考注释通过debug追踪一下赋值情况. public class ClassStructureTest {public static vo ...

  6. Java继承中成员变量和成员函数的覆盖

    2019独角兽企业重金招聘Python工程师标准>>> 关于继承中变量和方法的覆盖: 1, 与基类中同名的变量,会被派生类所覆盖(同时存在但是有独立的值),直接取值将是派生类的值,但 ...

  7. Java 多态中成员变量与成员属性的特点【复习】

    package firstchapter;/*** 多态中成员变量与成员属性的特点*/ public class polymorphic {public static void main(String ...

  8. hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化

    hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...

  9. Java类初始化顺序(变量赋值与静态代码块的执行时间)

    前言:最近写代码的时候经常见到见到static代码块,不由对static的执行时间产生了兴趣,进而对类初始化顺序产生了兴趣. 类从编译到执行的过程: 在使用ClassLoader将字节码转换为JVM中 ...

最新文章

  1. java学习笔记16--I/O流和文件
  2. Unity 2017 Game Optimization 读书笔记(1)Scripting Strategies Part 1
  3. 使用VS Code 从零开始开发并调试.NET Core 应用程序
  4. matlab 正则化表达式_MATLAB 正则表达式(一)(转)
  5. matlab butter 低通,matlab butter 用法
  6. export project from intellij to myeclipse
  7. easyexcell导出专题
  8. Spring源码深度解析百度网盘下载
  9. mysql数据库恢复
  10. 深信服 AC上网 行为管理设置
  11. C语言每日一练——第10天:求一个矩阵主对角线及副对角线元素之和
  12. 公交IC卡刷卡数据分析
  13. ASP.NET搭建企业微信公众平台源码
  14. C语言“水仙花数”是一个正三位数,他的个位十位百位的立方和等于他本身
  15. 迅为LS2k1000龙芯国产双核开发板烧写系统到 U 盘
  16. BS1039-基于Python+BS架构开发实现在线图书管理系统
  17. poi导出excel文件,并生成原生图表(包括折线图,柱状图,饼状图,面积图)
  18. 计算机网络中隧道基本原理,隧道技术-高级计算机网络.ppt课件
  19. 软件架构设计的七大原则
  20. CPU+GPU:高性能计算到桌面

热门文章

  1. nginx实现301(加密)跳转和200跳转
  2. Hello world开始
  3. [ST2017] Lab1: Triangle type and Junit test
  4. 玩转HTML5+跨平台开发[4] HTML表格标签
  5. Linux运行级详解
  6. SQL server 2008数据库的备份与还原、分离(转)
  7. 对使用CodeSmith模板生成NHibernate的代码的分析
  8. C#网络编程(同步传输字符串) - Part.2
  9. java中break和continue的用法例子
  10. BeanFactory与FactoryBean的区别