当前位置: 首页 > 编程笔记 >

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

宓昂雄
2023-03-14
本文向大家介绍Java子类对象的实例化过程分析,包括了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程序设计有所帮助。

 类似资料:
  • (我知道这个问题。这是一个单独的问题。 我从C JNI代码实例化Java对象时得到了一个segfault。 这是分段故障: 以下是hs_err文件中堆栈的相关部分: 快速概述我的库:我的代码围绕OpenSSL,通过JCAAPI为Java应用程序提供对OpenSSL的访问。(注意:并非所有代码都是从零开始编写的。一些代码源于执行类似功能的Android库Conscrypt。) 我有许多几乎相同的类(

  • 下面是我收到错误的代码(在“new”之后的第二个“Killer”处)。 这给我带来了不少麻烦,因为我看不出为什么基于Killer的构造函数,这个声明应该有效。 这是杀手班: 我知道这可能有一个简单的解决方案,但到目前为止,我还没有看到。

  • 本文向大家介绍java对象序列化操作实例分析,包括了java对象序列化操作实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java对象序列化操作。分享给大家供大家参考,具体如下: 在java中可以将对象进行序列化操作 要使对象能够被序列化,那么被序列化的对象要实现接口Serializable,此接口位于java.io包中 序列化对象案例程序,网上的教程是将序列化的对象输出到文件,但

  • 本文向大家介绍java new一个对象的过程实例解析,包括了java new一个对象的过程实例解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了java new一个对象的过程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 java在new一个对象的时候,会先查看对象所属的类有没有被加载到内存,如果没有的话,就会先通过类的全限

  • 本文向大家介绍java对象转型实例分析,包括了java对象转型实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java对象转型的概念,分享给大家供大家参考。具体方法如下: 对象转型(casting)注意事项如下: 1、一个基类的引用类型变量可以“指向”其子类的对象。 2、一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。 3、可以使用 引用变量 instanceof 类

  • 问题内容: 我有一个带有变量StudentID的班级Student: 我希望变量StudentID继续分配给每个Student创建的新ID号。每个ID号都应比上一个创建的ID号大一个,并且应等于已创建的对象总数。现在,每个对象的ID号为1。 问题答案: 将studentID设为静态成员 静态成员将在整个类的每个实例中保留,无论有多少个clas实例。