Java类的初始化顺序计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:31:15
来源 100Test.Com百考试题网


  我把Java类的初始化顺序分为两部分。第一部分是类的初始化,第二部分是对象的初始化。

  在初始化之前JVM必须先把该类的字节码加载到内存中来。这时不管创不创建对象都会马上执行类的初始化:

  执行静态初始化表达式(如static int a = 10)和静态初始化块(即static{}中的内容),注意两者按在源代码中的先后顺序执行。

  当创建一个对象,就会执行对象的初始化:

  首先调用父类的构造函数。

  第二步执行初始化表达式(如int a = 10)和初始化块({}中的内容),同样按在源代码中的先后顺序执行。

  最后执行自身的构造函数。

  对于静态初始化表达式与初始化表达式,如果只是声明,没有初始化,则赋默认值。如int i;则i会被赋值为0。

  总结:

  1、 类初始化

  (1) 静态初始化表达式,静态初始化块

  2、对象初始化

  (1)父类的构造函数

  (2)初始化表达式,初始化块

  (3)自身的构造函数

  注意:初始化表达式可能不是准确的术语,但明白是指什么就行了。

  测试代码:

  代码

  package principle.

  public class InitializeTest {

  public static void main(String[] args) throws ClassNotFoundException{

  System.out.println("-----类初始化-----").

  Class.forName("principle.MyClass").

  System.out.println("\n" "-----对象初始化-----").

  MyClass myClass = new MyClass().

  }

  }


相关文章


如何在JavaME平台上获取手机串号计算机等级考试
使用java播放声音文件计算机等级考试
Java除法运算的陷阱计算机等级考试
Java杂谈get方法中static计算机等级考试
Java类的初始化顺序计算机等级考试
用JavaHelp系统开发和交付更好的文档计算机等级考试
加快在JDBC设计中的JSP数据库访问速度计算机等级考试
实例讲解在JSP开发中的对象和范围属性计算机等级考试
java编程模式:桥接模式(BridgePatter)计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛