如何知道正在使用哪种接口实现?

时间:2019-03-04 11:57:22

标签: java interface

我在代码段下面。

public int appendLoopOnAppenders(LoggingEvent event) {

    int size = 0;

    if (this.appenderList != null) {
        size = this.appenderList.size();
        for (int i = 0; i < size; i++) {
            Appender appender = (Appender) this.appenderList.elementAt(i);
            appender.doAppend(event);
        }
    }

    return size;
}

这里的Appender是一个接口,但是当我检查the Appender's official documentation时,它正在由许多类实现。

我想知道,在这种情况下,我如何知道使用Appender接口的所有类中哪个类的实现正在被使用?

例如在上面的代码中,我怎么知道doAppend是哪个类的实现?

1 个答案:

答案 0 :(得分:2)

您可以使用appender.getClass()查看您的附加程序具有哪种实际类型。您还可以使用instanceof运算符来测试对象的类型。