两个使用接口通信的独立类

是否可以通过实现接口进行两个独立的类通信,如果是,如何进行?

我认为使用接口在这里有点极端,但我假设这是一个更大问题的简化

 public interface SomeInterface { public void giveString(String string); public String getString(); } 

 public class Class1 implements SomeInterface{ String string; public Class1(String string) { this.string = string; } //some code @Override public void giveString(String string) { //do whatever with the string this.string=string; } @Override public String getString() { return string; } } 

 public class Class2 implements SomeInterface{ String string; public Class2(String string) { this.string = string; } //some code @Override public void giveString(String string) { //do whatever with the string this.string=string; } @Override public String getString() { return string; } } 

 public class Test{ public static void main(String args[]){ //All of this code is inside a for loop Class1 cl1=new Class1("TestString1"); Class2 cl2=new Class2("TestString2"); //note we can just communicate now, no interface cl1.giveString(cl2.string); //but we can also communicate using the interface giveStringViaInterface(cl2,cl1); } //any class that extended SomeInterface could use this method public static void giveStringViaInterface(SomeInterface from, SomeInterface to){ to.giveString(from.getString()); } }