Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 按父类创建新对象_Java_Subclass - Fatal编程技术网

Java 按父类创建新对象

Java 按父类创建新对象,java,subclass,Java,Subclass,我有一个例子 类Candidate是超类,ExperienceCandidate是子类 我有两种要创建的对象类型: ExperienceCandidate temp=newexperiencecandidate() Candidate temp=newexperiencecandidate() 请帮助我区分这两种构造之间的差异以及在哪种情况下使用哪种构造通常,无论何时创建对象,都只是创建类的实例,以便在某个地方使用它。对于超类和子类,每当初始化一个类的子类时,它已经包含了该超类的所有对象/方法。

我有一个例子

Candidate
是超类,
ExperienceCandidate
是子类

我有两种要创建的对象类型:

ExperienceCandidate temp=newexperiencecandidate()

Candidate temp=newexperiencecandidate()


请帮助我区分这两种构造之间的差异以及在哪种情况下使用哪种构造通常,无论何时创建对象,都只是创建类的实例,以便在某个地方使用它。对于超类和子类,每当初始化一个类的子类时,它已经包含了该超类的所有对象/方法。在您的案例中,存在两个逻辑差异:

  • 候选者temp=newexperiencecandidate()
    不是调用对象的正确方法,调用超类对象的正确方法是
    Candidate temp=new Candidate()
  • 创建候选类的对象以在超类中使用几乎没有用,因为您可以使用关键字
    super()
    来调用超类的构造函数,并且无论如何,超类的所有函数都可以在子类中使用(因为您扩展了它)

你用谷歌搜索过吗?通读这篇问答以及这篇文章——这看起来像是一个家庭作业问题,但你要找的术语是“多态性”