欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java建立子类方法总结

程序员文章站 2024-02-24 21:59:28
java在构造函数中,第一行会先调用父类中构造函数进行初始化。父类初始化完毕后,再对子类的属性进行显示初始化。进行子类构造函数的特定初始化。初始化完毕后,将地址值赋值给引用...

java在构造函数中,第一行会先调用父类中构造函数进行初始化。父类初始化完毕后,再对子类的属性进行显示初始化。进行子类构造函数的特定初始化。初始化完毕后,将地址值赋值给引用变量person p。本文附带建立子类示例。

person p = new person();

1,jvm会读取指定的路径下的person.class文件,并加载进内存,并会先加载person的父类(如果有直接的父类的情况下).
2,在堆内存中开辟空间,分配地址。
3,并在对象空间中,对对象中的属性进行默认初始化。
4,调用对应的构造函数进行初始化。
5,在构造函数中,第一行会先调用父类中构造函数进行初始化。
6,父类初始化完毕后,再对子类的属性进行显示初始化。
7,进行子类构造函数的特定初始化。
8,初始化完毕后,将地址值赋值给引用变量person p.

例:

class fu

{

  fu()

  {

    super();

    show(); //通过结果可以看出,子父类有同名show方法,调用的是子类show方法。

    return;

  }

 

  void show()

  {

    system.out.println("fu show");

  }

}

class zi extends fu

{

  int num = 8;

  zi()

  {

    super();

    //-->通过super初始化父类内容时,子类的成员变量并未显示初始化。等super()父类初始化完毕后,

    //才进行子类的成员变量显示初始化。

 

    system.out.println("zi cons run...."+num);

    return;

  }

  void show() 

  {

    system.out.println("zi show..."+num);

  }

}

class extendsdemo5 

{

  public static void main(string[] args) 

  {

    zi z = new zi(); 

    z.show();

  }

}