如何在java中关联两个对象?

时间:2014-07-05 07:50:39

标签: java object

我想知道的是如何设置一个对象以某种方式对另一个特定对象作出反应。

例如:可能有一个名为swordInStone的类,它只会在类royalty的某个人试图抓住它时作出反应。 IE:

public class swordInStone{
    if(swordHilt.isPulledBy(royalty.grab)){
    releaseSword();
    }
}

但是在示例代码中,royalty必须是命名和活动对象,例如Arthur。我希望能够将其替换为class royalty

中的任何对象

1 个答案:

答案 0 :(得分:4)

您可以通过类型检查来实现此目的:

public class Royalty {}

public class Sword {
    private Stone stone;

    public Sword(Stone stone) {
        this.stone = stone;
    }

    public void grab(Object grabber) {
        if (grabber instanceof Royalty)
            stone.releaseSword();
    }
}