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

জাভাতে কনস্ট্রাক্টরকে private ডিক্লেয়ার করা যায় কি?


হ্যাঁ, আমরা একটি কনস্ট্রাক্টরকে private ডিক্লেয়ার করতে পারি। যদি কনস্ট্রাক্টরকে private ডিক্লেয়ার করা হয়, তবে আমরা ক্লাসের অবজেক্ট তৈরি করতে পারব না। এই private কনস্ট্রাক্টরটি সিংলটন ডিজাইন প্যাটার্ন-এ ব্যবহার করা হয়।

প্রাইভেট কনস্ট্রাক্টরের শর্তাবলী

  • একটি প্রাইভেট কনস্ট্রাক্টর ক্লাসকে সাবক্লাস করার অনুমতি দেয় না।
  • একটি প্রাইভেট কনস্ট্রাক্টর ক্লাসের বাইরে অবজেক্ট তৈরির অনুমতি দেয় না।
  • যদি আমাদের ক্লাসে সকল কনস্ট্যান্ট মেথড থাকে, তবে আমরা প্রাইভেট কনস্ট্রাক্টর ব্যবহার করতে পারি।
  • যদি সকল মেথড স্ট্যাটিক হয়, তবে আমরা প্রাইভেট কনস্ট্রাক্টর ব্যবহার করতে পারি।
  • যদি আমরা এমন একটি ক্লাসকে এক্সটেন্ড করার চেষ্টা করি যার প্রাইভেট কনস্ট্রাক্টর আছে, তবে কম্পাইল টাইম এরর হবে।

উদাহরণ

class SingletonObject { 
    private SingletonObject() { 
        System.out.println("In a private constructor"); 
    } 
    public static SingletonObject getObject() { 
        // এই কনস্ট্রাক্টর কল করা যায় 
        if (ref == null) 
            ref = new SingletonObject(); 
        return ref; 
    } 
    private static SingletonObject ref; 
} 
public class PrivateConstructorDemo { 
    public static void main(String args[]) { 
        SingletonObject sObj = SingletonObject.getObject(); 
    } 
}

আউটপুট

In a private constructor 
  1. জাভাতে JTable ফিল্টার করুন

  2. জাভাতে start() মেথড ওভাররাইড করা যায় কিনা?

  3. জাভাতে কনস্ট্রাক্টর সিঙ্ক্রোনাইজ করা যায় কিনা?

  4. জাভাতে JToggleButton কীভাবে বাস্তবায়ন করবেন?