当前位置 : 主页 > 编程语言 > java >

Java子类对象的实例化过程分析

来源:互联网 收集:自由互联 发布时间:2021-05-13
本文实例讲述了Java子类对象的实例化过程。分享给大家供大家参考,具体如下: 一 点睛 子类对象在实例化时,子类对象会默认先调用父类中的无参构造函数,然后再调用子类构造构造

本文实例讲述了Java子类对象的实例化过程。分享给大家供大家参考,具体如下:

一 点睛

子类对象在实例化时,子类对象会默认先调用父类中的无参构造函数,然后再调用子类构造构造方法。

二 实战

1 代码

class Person
{
  String name ;
  int age ;
  public Person() // 父类的构造方法
  {
    System.out.println("***** 父类构造:1. publicPerson()") ;
  }
}
class Student extends Person
{
   String school ;
  public Student() // 子类的构造方法
  {
    //super() ;  //实际上程序在这里隐含了这样一条语句
    System.out.println("##### 子类构造:2. public Student()");
  }
}
public class SubInstantProcess
{
  public static void main(String[] args)
  {
   Student s = new Student() ;
  }
}

2 运行

***** 父类构造:1. publicPerson()
##### 子类构造:2. public Student()

3 说明

运行结果可以证明:子类对象在实例化时,会默认先去调用父类中的无参构造方法,之后再调用子类本身的相应构造方法。

实际上,在子类构造方法的首行相对于默认隐含了一个“super()”语句。上面的Student类如果改写成下面形式,也是合法的。运行结果也是一样的。

class Student extends Person
{
  String school ;
  public Student() // 子类的构造方法
  {
    super() ;  //隐含了这样一条语句,它负责调用父类无参构造方法
    System.out.println("##### 子类构造:2. public Student()");
  }
}

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

网友评论