Interfaces & Abstract Classes
Difficulty: medium
Overview
Interface methods are public abstract by default (pre-Java 8). Java 8 added default and static methods; Java 9 added private methods. Abstract classes can have constructors, fields, and concrete methods. A class implements multiple interfaces but extends only one class. A functional interface has exactly one abstract method and enables lambda expressions (@FunctionalInterface enforces this).
Practice Linked Questions
Q1. In Java, interface methods are by default (before Java 8):
Select one answer before revealing.
Q2. Which of the following can appear in an abstract class but NOT in an interface (before Java 8)?
Select one answer before revealing.
Q3. How does Java support multiple inheritance?
Select one answer before revealing.
Q4. An interface in Java can:
Select one answer before revealing.
Q5. A default method in a Java interface (Java 8+):
Select one answer before revealing.
Q6. A functional interface in Java:
Select one answer before revealing.
Q7. Which of the following are true about interfaces in Java 8 and later? (More than one answer may be correct)
Select one answer before revealing.
Q8. What happens when the following code is compiled? abstract class Shape { abstract double area(); void display() { System.out.println("Area: " + area()); } } Shape s = new Shape();
Select one answer before revealing.