2011-11-27 65 views
0

我有一个包含void doThis();的界面。我在我的Main类中实现了接口,并且它自动将public void doThis() { ... }添加到我的课程中。如果我在Second班,如何在Main中调用doThis()如何调用接口?

回答

3

当你实现一个接口,你正在做一个类。接口由该类上的实例方法实现。

要在一个类中调用一个实例方法,实例化类,并调用它,就像任何其他实例方法:

Main m = new Main(); 
m.doThis(); 

按我的示例代码,你可能想传递的Main一个实例为Second而不是在Second内部创建实例。您可以通过界面而不是通过具体的类别类型来传递它:

public class Second 
{ 
    public void doSomething(SomeInterface si) 
    { 
     si.doThis(); 
     // other code here... 
    } 
} 

// Some code outside those classes, that uses both classes... 

Second s = new Second(); 
SomeInterface si = new Main(); 
s.doSomething(si); 
3
public void methodInSecond() { 
    ThingInterface ti = new Main(); 
    ti.doThis(); 
} 
3

如果我正确理解你的问题,然后

new Main().doThis() 
0

new Main(").doThis();将起作用。如果你希望对象是重用,做这样的

InterfaceName obj=new Main(); 
obj.doThis(); 
//other things you do with the obj object 

这里要记住的是,即使你不能创建的接口的对象,你怎么可以永远使用接口引用