কম্পিউটার

জাভাতে কত ধরনের বেনামী অভ্যন্তরীণ ক্লাস সংজ্ঞায়িত করা হয়েছে?


একটি বেনামী ভিতরের শ্রেণী একটি অভ্যন্তরীণ শ্রেণী যা ঘোষণা করা হয় কোন শ্রেণীর নাম ছাড়াই মোটেও অন্য কথায়, একটি নামহীন অভ্যন্তরীণ শ্রেণীকে বলা হয় বেনামী অভ্যন্তরীণ শ্রেণী . যেহেতু এটির একটি নাম নেই, এটির একটি নির্মাণকারী থাকতে পারে না৷ কারণ আমরা জানি যে একটি কন্সট্রাক্টরের নাম ক্লাসের নামের সমান।

আমরা একটি বেনামী অভ্যন্তরীণ শ্রেণী সংজ্ঞায়িত করতে পারি এবং নতুন ব্যবহার করে এর অবজেক্ট তৈরি করুন এক ধাপে একই সময়ে অপারেটর।

সিনট্যাক্স

new(argument-list){
   // Anonymous class body
}

জাভাতে বেনামী ইনার ক্লাসের প্রকারগুলি

  • বেনামী অভ্যন্তরীণ শ্রেণী যা একটি শ্রেণী প্রসারিত করে
  • বেনামী অভ্যন্তরীণ শ্রেণী যা একটি ইন্টারফেস প্রয়োগ করে
  • একটি যুক্তি হিসাবে বেনামী ভিতরের শ্রেণী

বেনামী অভ্যন্তরীণ শ্রেণী যা একটি শ্রেণী প্রসারিত করে

এখানে একটি নতুন কীওয়ার্ডটি বেনামী অভ্যন্তরীণ শ্রেণির একটি বস্তু তৈরি করতে ব্যবহৃত হয় যার একটি অভিভাবক শ্রেণীর প্রকারের উল্লেখ আছে৷

উদাহরণ

class Car {
   public void engineType() {
      System.out.println("Turbo Engine");
   }
}
public class AnonymousClassDemo {
   public static void main(String args[]) {
      Car c1 = new Car();
      c1.engineType();
      Car c2 = new Car() {
         @Override
         public void engineType() {
            System.out.println("V2 Engine");
         }
      };
      c2.engineType();
   }
}

আউটপুট

Turbo Engine
V2 Engine


বেনামী অভ্যন্তরীণ শ্রেণী যা একটি ইন্টারফেস প্রয়োগ করে

এখানে একটি নতুন কীওয়ার্ডটি বেনামী অভ্যন্তরীণ শ্রেণির একটি বস্তু তৈরি করতে ব্যবহৃত হয় যার একটি একটি ইন্টারফেস প্রকারের রেফারেন্স রয়েছে৷

উদাহরণ

interface Software {
   public void develop();
}
public class AnonymousClassDemo1 {
   public static void main(String args[]) {
      Software s = new Software() {
         @Override
         public void develop() {
            System.out.println("Software Developed in Java");
         }
      };
      s.develop();
      System.out.println(s.getClass().getName());
   }
}

আউটপুট

Software Developed in Java
AnonymousClassDemo1$1


আর্গুমেন্ট হিসাবে বেনামী ভিতরের শ্রেণী

আমরা বেনামী ভিতরের শ্রেণী ব্যবহার করতে পারি একটি যুক্তি হিসাবে যাতে এটি পদ্ধতি বা কনস্ট্রাক্টরদের কাছে প্রেরণ করা যায়৷

উদাহরণ

abstract class Engine {
   public abstract void engineType();
}
class Vehicle {
   public void transport(Engine e) {
      e.engineType();
   }
}
public class AnonymousInnerClassDemo2 {
   public static void main(String args[]) {
      Vehicle v = new Vehicle();
      v.transport(new Engine() {
         @Override
         public void engineType() {
            System.out.println("Turbo Engine");
         }
      });
   }
}

আউটপুট

Turbo Engine

  1. কিভাবে জাভা ক্লাস এবং অবজেক্ট ব্যবহার করবেন

  2. অ্যান্ড্রয়েডে কত প্রকারের অভিপ্রায় রয়েছে?

  3. জাভাতে একটি JList এর জন্য কত ধরনের নির্বাচন মোড?

  4. জাভাতে কত ধরনের JDialog বক্স তৈরি করা যায়?