কম্পিউটার টিউটোরিয়াল

জাভাতে মেথডের ভিতরে enum ডিফাইন করা যায় কিনা

জাভাতে Enumeration (এনুমেরেশন) নামক কনস্ট্যান্টের একটি গ্রুপকে রিপ্রেজেন্ট করে। আপনি নিচের সিনট্যাক্স ব্যবহার করে একটি এনুমেরেশন তৈরি করতে পারেন:

enum Days { 
    SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY 
}

আমরা একটি ক্লাসের ভিতরে এনুমেরেশন ডিফাইন করতে পারি। কিন্তু একটি মেথডের ভিতরে enum ডিফাইন করা যায় না। যদি আপনি এसा করার চেষ্টা করেন, তবে কম্পাইল টাইম এরর জেনারেট হবে বলে "enum types must not be local"।

উদাহরণ

public class EnumExample { 
    public void sample() { 
        enum Vehicles { 
            Activa125, Activa5G, Access125, Vespa, TVSJupiter; 
        } 
    } 
}

এরর (Error)

EnumExample.java:3: error: enum types must not be local 
    enum Vehicles { 
    ^ 1 error

মেথডের ভিতরে enum কনস্ট্যান্ট ব্যবহার করতে হলে, প্রয়োজনীয় enum ক্লাসের ভিতরে ডিক্লেয়ার করুন এবং এর কনস্ট্যান্টগুলো values() মেথড ব্যবহার করে মেথডের ভিতরে ব্যবহার করুন।

উদাহরণ

public class EnumerationExample { 
    enum Enum { 
        Mango, Banana, Orange, Grapes, Thursday, Apple 
    } 
    
    public void testMethod() { 
        Enum constants[] = Enum.values(); 
        System.out.println("Value of constants: "); 
        
        for (Enum d : constants) { 
            System.out.println(d); 
        } 
    } 
    
    public static void main(String args[]) { 
        EnumerationExample obj = new EnumerationExample(); 
        obj.testMethod(); 
    } 
}

আউটপুট

Value of constants: 
Mango 
Banana 
Orange 
Grapes 
Thursday 
Apple
  1. জাভাতে Enum কি কোনো ক্লাস এক্সটেন্ড করতে পারে?

  2. জাভাতে pack() মেথড কখন ব্যবহার করবেন

  3. জাভাতে invokeLater() মেথড কল করার পদ্ধতি

  4. জাভাতে ফাইনাল মেথড ইনহেরিট করা যায় কি?