java 成员变量 静态成员变量 方法 静态方法初始化顺序

Posted 奇异宝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 成员变量 静态成员变量 方法 静态方法初始化顺序相关的知识,希望对你有一定的参考价值。

【Java笔试真题】:构造方法、成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?

【解答】:
当类第一次被加载的时候,静态变量会首先初始化,接着编译器会把实例变量初始化为默认值,然后执行构造方法。

Java程序的初始化一般遵循以下三个原则(以下三原则优先级依次递减):

① 静态对象(变量)优先于非静态对象(变量)初始化,其中,静态对象(变量)只初始化一次,而非静态对象(变量)可能会初始化多次;

② 父类优先于子类进行初始化;

③ 按照成员变量定义顺序进行初始化,即使变量定义散布于方法定义中,它们依然在任何方法(包括构造方法)被调用之前先初始化。


Java程序初始化工作可以在许多不同的代码块中完成(例如静态代码块、构造方法等),它们执行的顺序如下:父类静态变量、父类静态代码块、子类静态变量、子类静态代码块、父类非静态变量、父类非静态代码块、父类构造方法、子类非静态变量、子类非静态代码块和子类构造方法。

 

先后顺序是:静态成员变量、成员变量、构造方法。

转自:https://www.cnblogs.com/shsxt/p/9719898.html

以上是关于java 成员变量 静态成员变量 方法 静态方法初始化顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java中成员变量局部变量全局变量静态变量成员变量

Java中成员变量局部变量全局变量静态变量成员变量

java里的静态成员变量是放在了堆内存还是栈

Java学习笔记八---类的静态变量与静态方法的访问与调用方式

Java构造方法成员变量初始化以及静态成员变量初始化三者的先后顺序是什么样的?

Java基础 -- 静态方法和实例方法有何不同无参构造函数有什么作用import java和javax有什么区别成员变量与局部变量的区别有哪些(成员变量有默认赋值)