我想知道的是如何设置一个对象以某种方式对另一个特定对象作出反应。
例如:可能有一个名为swordInStone
的类,它只会在类royalty
的某个人试图抓住它时作出反应。 IE:
public class swordInStone{
if(swordHilt.isPulledBy(royalty.grab)){
releaseSword();
}
}
但是在示例代码中,royalty
必须是命名和活动对象,例如Arthur
。我希望能够将其替换为class
royalty
答案 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();
}
}