继承—有没有一种方法可以从java类内部检查它的超类是否属于同一类型?

s4n0splo  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(267)

我正在示例化一个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的正确用法,它会引发一个错误,所以我想知道什么是更好的方法

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题