Enum
Enum
- An Enum is a special data type that represents a group of constants.
- Enums are used to define a fixed set of related constants, such as days of the week, directions, or states.
- Key characteristics:
- Enums are implicitly
finalandstatic. - Enum constants are
public,static, andfinalby default. - Enums can have fields, methods, and constructors.
- Enums can implement interfaces but cannot extend classes (as they implicitly extend
java.lang.Enum).
- Enums are implicitly
- Enums can have fields, methods, and constructors to associate additional data with each constant.
enum Planet {
EARTH(5.97e+24, 6.371e6);
private final double mass; // in kilograms
private final double radius; // in meters
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}
public double surfaceGravity() {
final double G = 6.67430e-11; // Gravitational constant
return G * mass / (radius * radius);
}
}
public class Main {
public static void main(String[] args) {
System.out.println("Earth's Gravity: " + Planet.EARTH.surfaceGravity());
}
}
- Enums are often used with
switchstatements for better readability and control.
- Enums can implement interfaces to define behavior for each constant.
interface Operation {
double apply(double x, double y);
}
enum Calculator implements Operation {
ADD {
@Override
public double apply(double x, double y) {
return x + y;
}
},
MULTIPLY {
@Override
public double apply(double x, double y) {
return x * y;
}
};
}
public class Main {
public static void main(String[] args) {
System.out.println(Calculator.ADD.apply(10, 5)); // Outputs: 15.0
}
}