A Java interface does not allow constructors inside it's definition, only the name declaration of methods. The use of an interface is to allow other classes (those classes that use your interface), to provide the code inside of that methods that you declare on your interface.
public interface Controller {
void setController(MyControllerVariable);
MyControllerVariable getController();
boolean isController(MyControllerVariable);
}
Note that in the previous code there are no definition of how and what the methods does. You have to implement the definition of the code inside the methods.
For example:
public class YourClass implements Controller {
MyControllerVariable mcv = new MyControllerVariable();
public void setController(mcv) {
// Do something interesting here
}
public Controller getController() {
// Do something interesting here
}
public boolean isController(mcv) {
// Do something interesting here
}
}
If you want to do something with Constructors you must use a Class.
For example:
public class Controller{
Model model;
View view;
public Controller(Model model, View view) {
this.model = model;
this.view = view;
}
}
The use of the 'default' keyword in java cannot be used in constructors, so don't use it. The previous code shows what you want to do. As the class has only one constructor, that's the default constructor.