如何实现返回类型为Outer接口的嵌套接口方法?

时间:2016-03-25 12:08:39

标签: java selenium-webdriver interface

我有一个嵌套了InnerInterface的OuterInterface。 OuterInterface有一个名为GetInnerInterfaceReference()的方法。此方法的返回类型是InnerInterface。

interface OuterInterface {

    interface InnerInterface {
        public void InnerInerfaceMethod();
    }

    public InnerInterface GetInnerInterfaceReference();
}

现在它在Example类中实现。因此,GetInnerInterfaceReference()方法应该返回对InnerInterface类型变量的引用。怎么做到这一点?

class Example implements OuterInterface,OuterInterface.InnerInterface {

    public void InnerInerfaceMethod() {
        System.out.println("inner method called");
    }

    public InnerInterface GetInnerInterfaceReference() {
        //return 
    }
}

一旦我获得引用,那么我可以使用以下代码来调用InnerInterface

中的方法
public class Sample {

    public static void main(String[] args) {
        Example ex = new Example();
        ex.GetInnerInterfaceReference().InnerInerfaceMethod();
    }
}

我只需致电ex.InnerInterfaceMethod();

即可获得结果

但是,当我通过WebDriver界面时,我得到了这个查询。此WebDriver具有一些静态嵌套接口和一些方法声明。这些方法中的一些返回类型是这些嵌套接口。所以我想知道这些方法是如何在ChromeDriver或FirefoxDriver等实现的类中定义的?

2 个答案:

答案 0 :(得分:0)

像这样:

class Example implements OuterInterface,OuterInterface.InnerInterface {

    public void InnerInerfaceMethod() {
        System.out.println("inner method called");
    }

    public InnerInterface GetInnerInterfaceReference() {
        return this; 
    }
}

答案 1 :(得分:0)

像这样:

.top-nav{
margin-top: 10px;
}