我正在示例化一个decorator变量,我需要一种方法来检查它是否是同一类型的另一个decorator中的decorator。
例如
Object o = new Decorator(new Decorator(new Enemy("Enemy1")));
System.out.println(o.getName());
我目前正在decorator.java中尝试这样做
public String getName()
{
return "Decorator " + super.getName();
}
输出
Decorator Decorator Enemy1
所以我试图解决装饰器被显示两次的问题
public String getName()
{
if (super instanceof Decorator)
{
return super.getName();
}
return "Decorator " + super.getName();
}
但这不是super的正确用法,它会引发一个错误,所以我想知道什么是更好的方法
暂无答案!
目前还没有任何答案,快来回答吧!