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

জাভা ৯-এ ইন্টারফেসে কোন ভেরিয়েবল/মেথড ডিফাইন করা যায়?

জাভা ৯ থেকে ইন্টারফেসে প্রাইভেট মেথড এবং প্রাইভেট স্ট্যাটিক মেথড যোগ করা যাচ্ছে। ইন্টারফেসে প্রাইভেট মেথড ব্যবহারের সুবিধা হলো ডিফল্ট ও স্ট্যাটিক মেথড-এর মধ্যে কোড ডুপ্লিকেশন কমানো। উদাহরণস্বরূপ, যদি দুটি বা ততোধিক ডিফল্ট মেথড একই কোড শেয়ার করতে চায়, তবে একটি প্রাইভেট মেথড তৈরি করে সেটি প্রতিটি ডিফল্ট মেথড থেকে কল করা যায়।

জাভা ৯-এ ইন্টারফেসে নিচের ভেরিয়েবল/মেথড ডিফাইন করা যায়:

  • কনস্ট্যান্ট (Constant)
  • অবস্ট্রাক্ট মেথড (Abstract method)
  • ডিফল্ট মেথড (Default method)
  • স্ট্যাটিক মেথড (Static method)
  • প্রাইভেট মেথড (Private method)
  • প্রাইভেট স্ট্যাটিক মেথড (Private Static method)

উদাহরণ

import java.util.*;
import java.util.stream.*;

interface InterfaceTest {
    static void printEvenNumbers() {
        getDataStream().filter(i -> i%2==0).forEach(System.out::println);
    }
    static void printLOddNumbers() {
        getDataStream().filter(i -> i%2!=0).forEach(System.out::println);
    }
    private static Stream<Integer> getDataStream() {
        // private static method
        List<Integer> list = Arrays.asList(10, 13, 5, 15, 12, 20, 11, 25, 16);
        return list.stream();
    }
}

public class InterfacePrivateMethodTest implements InterfaceTest {
    public static void main(String args[]) {
        System.out.println("The even numbers: ");
        InterfaceTest.printEvenNumbers();
        System.out.println("The odd numbers: ");
        InterfaceTest.printLOddNumbers();
    }
}

আউটপুট

The even numbers: 10 12 20 16 The odd numbers: 13 5 15 11 25
  1. জাভাতে FocusListener ইন্টারফেসের গুরুত্ব

  2. জাভাতে ইন্টারফেস ভেরিয়েবল ডিফল্টভাবে static এবং final কেন

  3. জাভাতে مار্কার বা ট্যাগড ইন্টারফেস

  4. জাভা ৮-এ ইন্টারফেসে স্ট্যাটিক মেথড