Java子类通过超类构造函数传递自身

时间:2018-09-09 22:05:46

标签: java class inheritance constructor polymorphism

所以我有一个继承自另一个类的子类。我想创建一个Test子类的对象,并将其属性转移到另一个名为Engine的类中(如下所述)。

package comulap;


public class Test extends Comulap {


    public String fudge = "fudge";

    public static void main(String[] args){
        Test c = new Test();
    }

}

这是超类Comulap

package comulap;

import comulap.core.Engine;

public class Comulap {

    public String fudge;


    Engine engine;

    public Comulap(){

        engine=new Engine(this);
    }
}

这是我要使用Test方法和属性的引擎类:

package comulap.core;

import comulap.Comulap;

public class Engine {

    Comulap comulap;

    public Engine(Comulap c){
        comulap=c;
        System.out.println(comulap.fudge);
    }

}

但是,当我运行此命令时,引擎对象认为fudge为null,就好像只是传递常规的Comulapobject而不是Test类一样。如何在常规Comulap类构造函数中传递Test类,而不仅仅是标准Comulap类?

0 个答案:

没有答案