/Interfaces & Abstract Classes
Concept Detail

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


easy

Q1. In Java, interface methods are by default (before Java 8):


Select one answer before revealing.

medium

Q2. Which of the following can appear in an abstract class but NOT in an interface (before Java 8)?


Select one answer before revealing.

hard

Q3. How does Java support multiple inheritance?


Select one answer before revealing.

medium

Q4. An interface in Java can:


Select one answer before revealing.

hard

Q5. A default method in a Java interface (Java 8+):


Select one answer before revealing.

medium

Q6. A functional interface in Java:


Select one answer before revealing.

hard

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.

easy

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.