java类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数
如题是结论,如果有人问你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类中,成员变量赋值第一个进行,其次是静态构造函数,再次是构造函数相关推荐
- java类成员变量初始化_探讨Java类中成员变量的初始化方式
在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...
- java面试题2 牛客:定义类中成员变量时不可能用到的修饰是
懵逼树上懵逼果,懵逼树下你和我 第二题 定义类中成员变量时不可能用到的修饰是() A final B void C protected D static 一看到这道题,有点慌了,直接选c,很显然,我又 ...
- C++类中成员变量的初始化有两种方式
C++类中成员变量的初始化有两种方式: 构造函数初始化列表和构造函数体内赋值.下面看看两种方式有何不同. 成员变量初始化的顺序是按照在那种定义的顺序. 1.内部数据类型(char,int--指针等) ...
- C++类中成员变量的初始化总结
C++类中成员变量的初始化总结 1. 普通的变量: 一般不考虑啥效率的情况下 可以在构造函数中进行赋值.考虑一下效率的可以再构造函数的初始化列表中进行. 1 class CA 2 { 3 p ...
- 类的成员变量赋值测试
类的成员变量赋值过程 类的静态成员和非静态成员赋值过程,可以参考注释通过debug追踪一下赋值情况. public class ClassStructureTest {public static vo ...
- Java继承中成员变量和成员函数的覆盖
2019独角兽企业重金招聘Python工程师标准>>> 关于继承中变量和方法的覆盖: 1, 与基类中同名的变量,会被派生类所覆盖(同时存在但是有独立的值),直接取值将是派生类的值,但 ...
- Java 多态中成员变量与成员属性的特点【复习】
package firstchapter;/*** 多态中成员变量与成员属性的特点*/ public class polymorphic {public static void main(String ...
- hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化
hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...
- Java类初始化顺序(变量赋值与静态代码块的执行时间)
前言:最近写代码的时候经常见到见到static代码块,不由对static的执行时间产生了兴趣,进而对类初始化顺序产生了兴趣. 类从编译到执行的过程: 在使用ClassLoader将字节码转换为JVM中 ...
最新文章
- java学习笔记16--I/O流和文件
- Unity 2017 Game Optimization 读书笔记(1)Scripting Strategies Part 1
- 使用VS Code 从零开始开发并调试.NET Core 应用程序
- matlab 正则化表达式_MATLAB 正则表达式(一)(转)
- matlab butter 低通,matlab butter 用法
- export project from intellij to myeclipse
- easyexcell导出专题
- Spring源码深度解析百度网盘下载
- mysql数据库恢复
- 深信服 AC上网 行为管理设置
- C语言每日一练——第10天:求一个矩阵主对角线及副对角线元素之和
- 公交IC卡刷卡数据分析
- ASP.NET搭建企业微信公众平台源码
- C语言“水仙花数”是一个正三位数,他的个位十位百位的立方和等于他本身
- 迅为LS2k1000龙芯国产双核开发板烧写系统到 U 盘
- BS1039-基于Python+BS架构开发实现在线图书管理系统
- poi导出excel文件,并生成原生图表(包括折线图,柱状图,饼状图,面积图)
- 计算机网络中隧道基本原理,隧道技术-高级计算机网络.ppt课件
- 软件架构设计的七大原则
- CPU+GPU:高性能计算到桌面
热门文章
- nginx实现301(加密)跳转和200跳转
- Hello world开始
- [ST2017] Lab1: Triangle type and Junit test
- 玩转HTML5+跨平台开发[4] HTML表格标签
- Linux运行级详解
- SQL server 2008数据库的备份与还原、分离(转)
- 对使用CodeSmith模板生成NHibernate的代码的分析
- C#网络编程(同步传输字符串) - Part.2
- java中break和continue的用法例子
- BeanFactory与FactoryBean的区别