Java 8 allows us to add non-abstract method implementations to interfaces by utilizing the default keyword. For example:
interface Foo {
Object method1();
default Object method2() {
return new Object();
}
}
What is the reason for this? Isn't it just making an interface look more like an abstract class? Or there is something else I am missing?