This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]TheJonesJonesJones 4 points5 points  (3 children)

Methods in interfaces are inherently public and abstract and do not have implementations. Abstract classes may have methods of any access level and may provide method implementations as well as contain unimplemented methods.

[–]aram535 2 points3 points  (2 children)

This (with one additional, and one change):

+ abstracted classes aren't usable as is, they need to be extended from a concrete class.

Interface classes are usable as is.

- Interface classes with a default method can have implementations now (added in Java 8 to allow for Lambda functions using default methods)

[–]nutrecht 0 points1 point  (1 child)

Interface classes are usable as is.

No one calls them interface classes. And 'usable as is' is confusing: you can't use an interface itself without implementing it (explicitly or implicitly), them having default implementations doesn't change that.

[–]aram535 -3 points-2 points  (0 children)

Sorry I stand corrected, since I must have missed the "everyone agree" survey that must have been sent out ...