Ein Interface ist dazu gedacht, eine Schnittstelle zu spezifizieren.
Der Programmierer von Klasse A weiß dann genau, dass Klasse B genau die Methoden m1, m2 und m3 besitzt und wie diese aufzurufen sind, wenn diese Klasse B das interface I implementiert.
"private" Methoden sind nur intern für die jeweilige Klasse relevant, nicht jedoch für andere Klassen. Insofern ist es sinnlos, "private" Methoden in einem Interface zu deklarieren.
das gewünschte Verhalten lässt sich erzwingen, indem du kein Interface, sondern eine abstrakte Klasse erstellst. Ob das sinnvol ist, steht auf einem anderen Blatt...
bye
Felix