Java中方法的局部变量必须要初始化,否则不能使用和操作,
要是类数据成员(即字段)是基本类型,情况就会变得有些不同。类的每个基本类型数据成员保证都会有一个初始值。
在类里定义一个对象引用时,如果不将其初始化,此引用就会获得一个特殊值null。
初始化的顺序规则,
1 自动初始化(编译器自动为数据成员赋值) 早于 构造器初始化(如果有的话)
2 在类的内部,变量定义的先后顺序决定了初始化的顺序,即使变量定义散布于方法定义之间,他们仍旧会在任何方法(包括构造器)被调用之前得到初始化。
3 静态数据的初始化:无论创建多少个对象,静态数据只占一份存储空间。static不能应用于局部变量。
静态初始化只有在必要时刻才会进行。如果不创建对象,也不引用其静态数据,那么它的静态数据永远都不会创建,只有在第一个对象被创建(或者第一次访问静态数据)的时候,他们才会被初始化。伺候静态对象不会再次被初始化。
4 初始化的顺序是先静态(如果它们尚未因前面的对象创建而被初始化)后非静态。静态初始块和其他初始化动作一样。
分享到:
相关推荐
Java初始化块Java初始化块
源代码以及word文件 博文链接:https://zsl131.iteye.com/blog/624175
Java初始化顺序1
深入Java初始化.pdf
作为一名程序员必须知道Java初始化顺序......
C++和Java初始化顺序的比较代码, 详细的解说请参考博客地址, http://blog.csdn.net/ostrichmyself/archive/2010/11/25/6035538.aspx
基于常量池和反编译分析的Java初始化研究.pdf
Java 的初始化问题和其他高级语言类似。一个明显不一样的地方是体现在它的类加 载过程。传统的编程语言包括C++等,程序是作为启动过程的一部分立刻被加载,而Java 的 类加载只在需要使用程序代码时才会被加载(每个...
Spring+Mybatis+Atomikos实现JAVA初始化并控制多个数据源+分布式事务的一个DEMO,内涵源代码,以及一篇关于该内容的博客
主要介绍了6种方法初始化JAVA中的list集合,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
java 数组初始化 详解 doc
一个java代码初始化具体过程的的demo
主要介绍了Java初始化块及执行过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
《Java程序设计基础教程》按内容分成五篇:Java 语言入门篇、面向对象篇、数据流应用篇、Java GUI编程篇和高级应用篇,共有二十四讲组成。
java语法\Java数组声明、创建、初始化
java软件技术文档
如果有static,即静态成员定义,首先初始化static的变量,如,在类Cups中c3在c2前面,可是在输出的结果中,你可以发现,c2是在c3前执行的,这就是因为,所有的static都在第一时间被初始化。
是某高手实际录制的一段视频,讲的很细致!