如何让一个对象创建另一个对象并在第二个对象中插入对自身的引用?

时间:2017-09-03 15:17:06

标签: java

我有一个抽象类Skill,实际技能类从中继承共享字段和方法。然后,Character类创建每个实例的新实例,如:

public class Character {
    String name;
    String className;
    String raceName;
    Acrobatics acrobatics = new Acrobatics();
    Diplomacy diplomacy = new Diplomacy();
    //etc.
}

因此,如果您不熟悉d20系统,当您使用Skill时,它会检查难度等级。现在,技能类本身有一种方法来发现任何检查DC(discoverDC())。

问题是Skill对象必须检查创建它的Character对象,以便发现所有相关的修饰符。

所以为了让它以这种方式工作,我认为我需要以某种方式附加对创建Character对象的Skill对象的引用,但我不知道如何会工作。我已经尝试将Character对象作为参数传递给Skill对象,但是编译器却被激怒了。

我非常确定一种解决方案是创建另一个具有这些功能的对象(如GM)并让它寻找相关的修饰符。但是,我真的很想知道是否有任何方法可以按照我最初的方式将其运行起来。

1 个答案:

答案 0 :(得分:0)

您需要将父类的实例传递给子类,因此您的子类需要一个用于存储对象的属性,然后您可以使用构造函数或使用set方法传递它:

main

我们这里有孩子:

public class ParentClass{

    public void randomMethod(){
        ChildClass child = new ChildClass(this); 
    }


}