HuntExams Academy logo
JavaBeginner#fundamentals

What is the difference between an enum and a class with constants?

Answer

An enum is a special class representing a fixed set of constants with type safety, can have fields, methods, and constructors, and works with switch statements. Plain constants (e.g., static final int) lack type safety and namespace grouping.

Example

enum Day { MON, TUE, WED }
Day d = Day.MON;
switch (d) {
  case MON -> System.out.println("Monday");
  default -> System.out.println("Other");
}

Related Interview Questions

1
JavaIntermediate#fundamentals#java14

What are records in Java (Java 14+)?

Open
2
JavaAdvanced#fundamentals#java17

What is the difference between sealed classes and final classes (Java 17)?

Open
3
JavaIntermediate#fundamentals#java14

What is the difference between switch statement and switch expression (Java 14+)?

Open