`
Jia_er
  • 浏览: 10420 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java中的初始化问题

    博客分类:
  • Java
阅读更多

1. 类的属性初始化

Java虚拟机会自动进行初始化。如果给出了初始值,则初始化为该初始值。如果没有给出,则把它初始化为该类型变量的默认初始值。

(1)int类型变量默认初始值为0

(2)float类型变量默认初始值为0.0f

(3)double类型变量默认初始值为0.0

(4)boolean类型变量默认初始值为false

(5)char类型变量默认初始值为0(ASCII)

(6)long类型变量默认初始值为0

 

所有对象引用类型变量默认初始值为null,即不指向任何对象,包括数组等。

 

对于两种不对的类属性,static属性与instance属性,初始化的时机是不同的:

(1)instance属性在创建实例的时候初始化,static属性在类加载,也就是第一次用到这个类的时候初始化,对于后来的实例的创建,不再次进行初始化。

 

2. 方法里的局部变量

(1)必须明确地进行初始化;

(2)如果在没有初始化之前就试图使用它,编译器会抗议;

(3)如果初始化的语句在try块中或if块中,也必须要让它在第一次使用前一定能够得到赋值。

 

3. 类初始化时构造函数调用顺序

(1)初始化对象的存储空间为零或null值;

(2)调用父类构造函数;

(3)按顺序分别调用类成员变量和实例成员变量的初始化表达式;

(4)调用本身构造函数

 

4. 类初始化时的其他问题
(1)如果java文件没有package,就默认给文件加上“无名”package;
(2)默认导入java.lang包,所以我们的java程序中可以使用String,Math,Integer等类,包括一些异常类;
(3)如果生成的类没有父类,则为这个类隐式加上父类Object,因此,包括Object中的许多方法都可以使用;
(4)运行顺序
建立一个非主类对象,顺序为:静态初始化块static{} -> 初始化块{} -> 构造函数constructor

牵涉到父类:
父类静态初始化块 -> 子类静态初始化块 -> 父类初始化块 -> 父类构造函数 -> 子类初始化块 -> 子类构造函数
注意:初始化块和构造函数是接连运行的,不会父类子类交替。






分享到:
评论

相关推荐

    java数组初始化详解

    java 数组初始化 详解 doc

    java程序初始化顺序

    介绍一下java程序初始化的顺序,这会对您以后的开发所有帮助

    45.java数组动态初始化.zip

    45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...

    44.java数组静态初始化.zip

    44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip44.java数组静态初始化.zip...

    6种方法初始化JAVA中的list集合

    主要介绍了6种方法初始化JAVA中的list集合,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    Java中对象的初始化

    《Java程序设计基础教程》按内容分成五篇:Java 语言入门篇、面向对象篇、数据流应用篇、Java GUI编程篇和高级应用篇,共有二十四讲组成。

    java中对象创建、初始化、引用

    介绍java对象的创建、初始化、和引用。并分析一下JAVA中对象创建和初始化过程中涉及的相关概念问题。

    java代码的初始化顺序demo

    一个java代码初始化具体过程的的demo

    java中类的初始化顺序

    对java类初始化以及顺序,详解,由于转载仅供大家参考!

    Java初始化块Java初始化块.doc

    Java初始化块Java初始化块

    Java静态初始化块和对象初始化块

    NULL 博文链接:https://yuu1987.iteye.com/blog/1113142

    java初始化和清理

    Java 的初始化问题和其他高级语言类似。一个明显不一样的地方是体现在它的类加 载过程。传统的编程语言包括C++等,程序是作为启动过程的一部分立刻被加载,而Java 的 类加载只在需要使用程序代码时才会被加载(每个...

    java类变量初始化顺序

    详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。

    java编程思想-初始化与清理

    java编程思想-初始化与清理了解this之后,你就能更全面地理解“静态(static)方法”的含义。静态方法就是没有this的方法。在“静态方法”的内部不能调用“非静态方法”,反过来倒是可以的。而且你可以在没有创建...

    52.java二维数组静态初始化.zip

    52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化.zip52.java二维数组静态初始化....

    51.java二维数组动态初始化.zip

    51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化.zip51.java二维数组动态初始化....

    java语法\Java数组声明、创建、初始化

    java语法\Java数组声明、创建、初始化

    java学习之神奇初始化

    如果有static,即静态成员定义,首先初始化static的变量,如,在类Cups中c3在c2前面,可是在输出的结果中,你可以发现,c2是在c3前执行的,这就是因为,所有的static都在第一时间被初始化。

    Java中StringBuffer对象的初始化.pdf

    Java中StringBuffer对象的初始化.pdf 学习资料 复习资料 教学资源

    Java中初始化List的5种方法示例

    主要给大家介绍了关于Java中初始化List的5种方法,文中通过示例代码介绍的非常详细,对大家学习或使用java具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics