কম্পিউটার

Enum জাভা কোন ক্লাস প্রসারিত করতে পারেন?


জাভাতে গণনা (enum) হল একটি ডেটাটাইপ যা ধ্রুবক মানগুলির একটি সেট সংরক্ষণ করে। আপনি নির্দিষ্ট মান সংরক্ষণ করতে গণনা ব্যবহার করতে পারেন যেমন সপ্তাহে দিন, বছরে মাস ইত্যাদি।

আপনি −

হিসাবে গণনার নাম অনুসরণ করে enum কীওয়ার্ড ব্যবহার করে একটি গণনা সংজ্ঞায়িত করতে পারেন
enum Days {
   SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY
}

অ্যারের মতোই, একটি গণনার উপাদান/ধ্রুবকগুলিকে চিহ্নিত করা হয় 0 থেকে শুরু হওয়া সংখ্যাগুলি ব্যবহার করে উপরের উদাহরণে দিনগুলি চিহ্নিত করা হয় সংখ্যাগুলি ব্যবহার করে যেমনটি নিম্নলিখিত চিত্রে দেখানো হয়েছে −

Enum জাভা কোন ক্লাস প্রসারিত করতে পারেন?

গণনাগুলি ক্লাসের অনুরূপ এবং, আপনি তাদের মধ্যে ভেরিয়েবল, পদ্ধতি এবং কনস্ট্রাক্টর থাকতে পারেন। একটি গণনায় শুধুমাত্র কংক্রিট পদ্ধতি অনুমোদিত।

একটি ক্লাস বাড়ানো

সমস্ত গণনা অভ্যন্তরীণভাবে Enum নামে একটি শ্রেণিকে প্রসারিত করে যা সমস্ত ভাষার গণনার প্রকারের বেস ক্লাস। যেহেতু জাভা একাধিক উত্তরাধিকার সমর্থন করে না আপনি যদি এটি করার চেষ্টা করেন তবে আপনি গণনা সহ অন্য ক্লাস প্রসারিত করতে পারবেন না, একটি কম্পাইল টাইম ত্রুটি তৈরি হবে৷

উদাহরণ

নিম্নলিখিত জাভা স্নিপেটে আমাদের নমুনা নামের একটি ক্লাস আছে এবং আমরা স্কুটার নামে একটি Enum টাইপ তৈরি করেছি এবং নমুনা ক্লাস প্রসারিত করার চেষ্টা করেছি।

import java.util.Scanner;
class Sample {
}
enum Scooters extends Sample {
}

আউটপুট

On executing, this class generates the following compile time error.
D:\>javac EnumExample.java
EnumExample.java:5: error: '{' expected
enum Scooters extends Sample{
              ^
EnumExample.java:5: error: ',', '}', or ';' expected
enum Scooters extends Sample{
                      ^
2 errors
প্রসারিত করে
  1. কিভাবে আমরা জাভাতে একটি JTextField এ প্যাডিং যোগ করতে পারি?

  2. জাভাতে ইন্টারফেস

  3. জাভাতে বিমূর্ত ক্লাস

  4. জাভাতে ফাইনাল ক্লাস