An interface in Java is similar to a class, but the body of an interface can include only abstract methods and final
finalfields (constants).
Recently, I faced onesaw a question, which looks like this
interface interAnInterface { public default void mymethodmyMethod() { System.out.println("D"); } } According to the interface definition, only abstract methods are allowed. Then, how didWhy does it allowedallow me to compile the above code ? What is the default keyword ?
On the other hand, when I was trying to write below code, then it says modifier default not allowed here
default class myclassMyClass{ } instead of
class myclassMyClass { } AnyoneCan anyone tell me the purpose of the default keyword ? Is it only allowed inside an interface ? How isdoes it differentdiffer from defaultdefault (no access modifier) ?