না, আমরা জাভাতে একটি enum এক্সটেন্ড করতে পারি না। জাভা enums নিঃশব্দে java.lang.Enum ক্লাস এক্সটেন্ড করে, তাই enum টাইপ অন্য কোনো ক্লাস এক্সটেন্ড করতে পারে না।
সিনট্যাক্স
public abstract class Enum<E extends Enum<E>> implements Comparable<E>, Serializable {
// কিছু স্টেটমেন্ট
}
Enum
- একটি Enum টাইপ একটি বিশেষ ডেটা টাইপ যা জাভা ১.৫ ভার্শন-এ যোগ করা হয়েছিল।
- একটি Enum একটি কনস্ট্যান্টের সংগ্রহ সংজ্ঞায়িত করতে ব্যবহৃত হয়, যখন আমাদের একটি প্রিডিফাইনড ভ্যালুর লিস্ট প্রয়োজন যা কোনো সংখ্যাত্মক বা টেক্সচুয়াল ডেটা রিপ্রেজেন্ট করে না, তখন আমরা একটি enum ব্যবহার করতে পারি।
- Enums হল কনস্ট্যান্ট এবং ডিফল্টভাবে সেগুলো স্ট্যাটিক এবং ফাইনাল। তাই enum টাইপ ফিল্ডের নামগুলো আপারকেস লেটার-এ থাকে।
- Public বা protected মডিফায়ার শুধু টপ-লেভেল enum ডিক্লেয়ারেশনের সাথে ব্যবহার করা যায়, কিন্তু সকল অ্যাক্সেস মডিফায়ার নেস্টেড enum ডিক্লেয়ারেশনের সাথে ব্যবহার করা যায়।
উদাহরণ
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());
}
}
}
আউটপুট
DOLLAR is the currecny of US RUBLE is the currecny of RUSSIA RUPEE is the currecny of INDIA