কম্পিউটার

আমরা কি একক জাভা প্রোগ্রামে একাধিক ক্লাস ঘোষণা করতে পারি?


একটি একক জাভা প্রোগ্রামে দুটি বা তার বেশি ক্লাস থাকে, এটি জাভাতে দুটি উপায়ে সম্ভব৷

একক জাভা প্রোগ্রামে একাধিক ক্লাস বাস্তবায়নের দুটি উপায়

  • নেস্টেড ক্লাস
  • একাধিক অ-নেস্টেড ক্লাস

একাধিক নন-নেস্টেড ক্লাসের সাথে কম্পাইলার কীভাবে আচরণ করে

নীচের উদাহরণে, জাভা প্রোগ্রামে দুটি ক্লাস রয়েছে, একটি ক্লাসের নাম কম্পিউটার এবং অন্যটি ল্যাপটপ৷ উভয় শ্রেণীর নিজস্ব নির্মাণকারী এবং একটি পদ্ধতি আছে। মূল পদ্ধতিতে, আমরা দুটি শ্রেণীর একটি বস্তু তৈরি করতে পারি এবং তাদের পদ্ধতিগুলিকে কল করতে পারি।

উদাহরণ

public class Computer {
   Computer() {
      System.out.println("Constructor of Computer class.");
   }
   void computer_method() {
      System.out.println("Power gone! Shut down your PC soon...");
   }
   public static void main(String[] args) {
      Computer c = new Computer();
      Laptop l = new Laptop();
      c.computer_method();
      l.laptop_method();
   }
}
class Laptop {
   Laptop() {
      System.out.println("Constructor of Laptop class.");
   }
   void laptop_method() {
      System.out.println("99% Battery available.");
   }
}

যখন আমরা উপরের প্রোগ্রামটি কম্পাইল করি, তখন দুটি .class ফাইল Computer.class এবং Laptop.class তৈরি করা হবে। এটির সুবিধা রয়েছে যে আমরা কোডটি আবার কম্পাইল না করেই আমাদের .class ফাইলটি অন্য প্রকল্পে কোথাও পুনরায় ব্যবহার করতে পারি। সংক্ষেপে, তৈরি করা .class ফাইলের সংখ্যা কোডের ক্লাসের সংখ্যার সমান হবে। আমরা যতগুলি চাই ততগুলি ক্লাস তৈরি করতে পারি তবে একটি ফাইলে অনেকগুলি ক্লাস লেখার পরামর্শ দেওয়া হয় না কারণ এটি কোড পড়া কঠিন করে তোলে বরং আমরা প্রতিটি ক্লাসের জন্য একটি একক ফাইল তৈরি করতে পারি৷

আউটপুট

Constructor of Computer class.
Constructor of Laptop class.
Power gone! Shut down your PC soon...
99% Battery available.

নেস্টেড ক্লাসের সাথে কম্পাইলার কীভাবে আচরণ করে

একবার মূল ক্লাসটি কম্পাইল হয়ে গেলে যার মধ্যে বেশ কয়েকটি অভ্যন্তরীণ ক্লাস রয়েছে, কম্পাইলার প্রতিটি অভ্যন্তরীণ ক্লাসের জন্য পৃথক .class ফাইল তৈরি করে৷

উদাহরণ

// Main class
public class Main {
   class Test1 { // Inner class Test1
   }
   class Test2 { // Inner class Test2
   }
   public static void main(String [] args) {
      new Object() { // Anonymous inner class 1
      };
      new Object() { // Anonymous inner class 2
      };
      System.out.println("Welcome to Tutorials Point");
   }
}

উপরের প্রোগ্রামে, আমাদের একটি প্রধান ক্লাস রয়েছে যার চারটি অভ্যন্তরীণ শ্রেণী রয়েছে Test1, Test2, Anonymous inner class 1 এবং বেনামী ভিতরের ক্লাস 2 . একবার আমরা এই ক্লাসটি কম্পাইল করলে, এটি নিম্নলিখিত ক্লাস ফাইলগুলি তৈরি করবে৷

Main.class

Main$Test1.class

Main$Test2.class

প্রধান $1.শ্রেণী

প্রধান $2.শ্রেণী

আউটপুট

Welcome to Tutorials Point

  1. আপনার কি একের বেশি YouTube চ্যানেল থাকতে পারে?

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

  3. কিভাবে আমরা জাভাতে একটি JTextField এ প্যাডিং যোগ করতে পারি?

  4. জাভাতে একক স্তরের উত্তরাধিকার