Which statements are true for both abstract classes and interfaces?
Choose all that apply
B, C, E, F.
Option A is wrong, because an abstract class may contain concrete methods.
Since Java 8, interfaces may also contain concrete methods in form of static or default methods.
Although all variables in interfaces are assumed to be public static final, abstract classes may contain them as well, so option B is correct.
Both abstract classes and interfaces can be extended with the extends keyword, so option C is correct.
Only interfaces can contain default methods, so option D is incorrect.
Both abstract classes and interfaces can contain static methods, so option E is correct.
Both structures require a concrete subclass to be instantiated, so option F is correct.
Finally, though an instance of an object that implements an interface inherits java.lang.Object, the interface itself doesn't; otherwise, Java would support multiple inheritance for objects, which it doesn't. Therefore, option G is incorrect.