No, we cannot extend an enum in Java. Java enums can extend java.lang.Enum class implicitly, so enum types cannot extend another class.
Syntax
public abstract class Enum> implements Comparable, Serializable {
// some statements
}Enum
- An Enum type is a special data type which is added in Java 1.5 version.
- An Enum is used to define a collection of constants, when we need a predefined list of values which do not represent some kind of numeric or textual data, we can use an enum.
- Enums are constants and by default, they are static and final. so the names of an enum type fields are in uppercase letters.
- Public or protected modifiers can only be used with a top-level enum declaration, but all access modifiers can be used with nested enum declarations.
Example
enum Country {
US {
public String getCurrency() {
return "DOLLAR";
}
}, RUSSIA {
public String getCurrency() {
return "RUBLE";
}
}, INDIA {
public String getCurrency() {
return "RUPEE";
}
};
public abstract String getCurrency();
}
public class ListCurrencyTest {
public static void main(String[] args) {
for (Country country : Country.values()) {
System.out.println(country.getCurrency() + " is the currecny of " + country.name());
}
}
}Output
DOLLAR is the currecny of US RUBLE is the currecny of RUSSIA RUPEE is the currecny of INDIA