我可以在没有实现接口的情况下调用接口内部的方法吗?

the*_*ava 8 java

我可以调用接口内的方法而不在我的类中实现接口吗?

package;

import Contact;

public interface IPerson{

    public void savePerson(Contact contact);

}
Run Code Online (Sandbox Code Playgroud)

现在这里的一些课......

public class HulkHogan { 

//Calling the method savePerson here
//I dont want to implement the Interface in all.

}
Run Code Online (Sandbox Code Playgroud)

rod*_*ion 6

静态地,您可以声明它被调用.你不一定要实现接口里面调用的类.例如:

public class HulkHogan { 
  private IPerson person;

  public HulkHogan(IPerson person){
    this.person = person;
  }

  public void doSomething(Contant contact){
    //call your method here
    person.savePerson(contact);
  }
}
Run Code Online (Sandbox Code Playgroud)

但为了执行它,你需要在一些地方实现它,因为接口只是描述事情的行为,但不提供实际的行为(即没有实现它).


fas*_*ava 5

你可以这样:

Person p =  new IPerson{

   public void savePerson(Contact contact) {
       // some code
   }

}
Run Code Online (Sandbox Code Playgroud)

现在打电话savePerson给p.您正在实现IPerson而不创建单独的类.