通过实例学习Java对象的构造过程(二)

文章作者 100test 发表时间 2007:03:14 16:51:57
来源 100Test.Com百考试题网


对分析本文的实例最重要的,用一句话说,就是“父类的构造方法调用发生在子类的变量初始化之前”。可以用下面的例子来证明:

// Petstore.java
class Animal {
 Animal() {
  System.out.println("Animal").
 }
}
class Cat extends Animal {
 Cat() {
  System.out.println("Cat").
 }
}
class Store {
 Store() {
  System.out.println("Store").
 }
}
public class Petstore extends Store{
 Cat cat = new Cat().
 Petstore() {
  System.out.println("Petstore").
 }
 public static void main(String[] args) {
  new Petstore().
 }
}

  运行这段代码,它的执行结果如下:

  Store
  Animal
  Cat
  Petstore

  从结果中可以看出,在创建一个Petstore类的实例时,首先调用了它的父类Store的构造方法;然后试图创建并初始化变量cat;在创建cat时,首先调用了Cat类的父类Animal的构造方法;其后才是Cat的构造方法主体,最后才是Petstore类的构造方法的主体。

相关文章


JAVA基础:深入浅出Java的访问者模式
java基础入门之文件操作
通过实例学习Java对象的构造过程(二)
通过实例学习Java对象的构造过程
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛