No Java implicitly. Explicit is where you implement several interfaces that have the same method signatures in them, and you explicitly , for the interface for which implementation is required.
Example from MSDN:
public class SampleClass : IControl, ISurface { void IControl.Paint() { System.Console.WriteLine("IControl.Paint"); } void ISurface.Paint() { System.Console.WriteLine("ISurface.Paint"); } }
Here we have two Paint() methods, one from each interface. In Java, you can implement one Paint (). In C #, you have the opportunity to implement versions for each interface, so you get different behavior depending on what the class is called.
So, if I called:
SampleClass c = new SampleClass(); ((IControl)c).Paint(); ((ISurface)c).Paint();
I get a printout of "IControl.Paint" and then a printout of "ISurface.Paint".
source share