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

জাভা ৮-এ ইন্টারফেসে ডিফল্ট মেথড

জাভা ৮ ইন্টারফেসে ডিফল্ট মেথড ইমপ্লিমেন্টেশনের নতুন কনসেপ্ট শুরুর করেছে। এই ক্ষমতা ব্যাকওয়ার্ড কম্প্যাটিবিলিটির জন্য যোগ করা হয়েছে যাতে পুরনো ইন্টারফেসগুলো জাভা ৮-এর ল্যাম্বডা এক্সপ্রেশন ক্ষমতা ব্যবহার করতে পারে।

উদাহরণস্বরূপ, List বা Collection ইন্টারফেসে forEach মেথড ডিক্লেয়ারেশন নেই। এই মেথড যোগ করলে কালেকশন ফ্রেমওয়ার্ক ইমপ্লিমেন্টেশন ব্রেক হয়ে যাবে। জাভা ৮ ডিফল্ট মেথড শুরুর করেছে যাতে List/Collection ইন্টারফেসে forEach মেথডের ডিফল্ট ইমপ্লিমেন্টেশন থাকতে পারে এবং এই ইন্টারফেস ইমপ্লিমেন্ট করা ক্লাসগুলোকে একই মেথড ইমপ্লিমেন্ট করতে হবে না।

উদাহরণ

public class Java8Tester {
    public static void main(String args[]) {
        Vehicle vehicle = new Car();
        vehicle.print();
    }
}

interface Vehicle {
    default void print() {
        System.out.println("I am a vehicle!");
    }
    static void blowHorn() {
        System.out.println("Blowing horn!!!");
    }
}

interface FourWheeler {
    default void print() {
        System.out.println("I am a four wheeler!");
    }
}

class Car implements Vehicle, FourWheeler {
    public void print() {
        Vehicle.super.print();
        FourWheeler.super.print();
        Vehicle.blowHorn();
        System.out.println("I am a car!");
    }
}

আউটপুট

I am a vehicle!
I am a four wheeler!
Blowing horn!!!
I am a car!
  1. জাভাতে ডিফল্ট মেথড ব্যবহার করে ডায়ামন্ড সমস্যা সমাধান

  2. জাভাতে ডিফল্ট মেথডের ব্যবহারিতা

  3. জাভাতে ডিফল্ট মেথড ব্যবহার করে ডায়ামন্ড সমস্যা সমাধান

  4. জাভা ৯-এ JShell-এর ডিফল্ট এডিটর মডিফাই করার পদ্ধতি