নিচে জাভা ৯ ইন্টারফেস-এ প্রাইভেট মেথড (Private Methods) কীভাবে ব্যবহার করতে হয় তার একটি উদাহরণ দেওয়া হলো:
উদাহরণ
interface my_int{
public abstract void multiply_vals(int a, int b);
public default void add_vals(int a, int b){
sub_vals(a, b);
System.out.print("Default method result ");
System.out.println(a + b);
}
private void sub_vals(int a, int b){
System.out.print("Private method result ");
System.out.println(a - b);
}
private static void div(int a, int b){
System.out.print(" Private static method result ");
System.out.println(a / b);
}
}
public class my_new_int implements my_int{
@Override
public void multiply_vals(int a, int b){
System.out.print("Abstract method result ");
System.out.println(a * b);
}
public static void main(String[] args){
my_int in = new my_new_int();
in.multiply_vals(11, 34);
in.add_vals(78, 0);
}
}
আউটপুট
Abstract method result 374 Private method result 78 Default method result 78
'my_int' নামে একটি ইন্টারফেস ডিফাইন করা হয়েছে, যেটিতে একটি অ্যাবস্ট্রাক্ট ফাংশন আছে বডি ছাড়া। আরেকটি ডিফল্ট ফাংশন ডিফাইন করা হয়েছে, যা মূলত দুটি সংখ্যা যোগ করে। 'sub_vals' নামে আরেকটি ফাংশন ডিফাইন করা হয়েছে, যা দুটি সংখ্যা বিয়োগ করে।
'div' নামে একটি স্ট্যাটিক ফাংশন ডিফাইন করা হয়েছে যা দুটি মান ভাগ করে। 'my_new_int' নামে একটি ক্লাস পূর্বে ডিফাইন করা ইন্টারফেসটি ইমপ্লিমেন্ট করে। এটি গুণ করার ফাংশনটি ওভাররাইড করে এবং পুনর্বিভাজিত করে। main ফাংশনে, ইন্টারফেসের একটি ইনস্ট্যান্স তৈরি করা হয়, এবং 'multiply_vals' ফাংশন নির্দিষ্ট মান পাস করে কল করা হয়। একইভাবে, 'add_vals' ফাংশনও নির্দিষ্ট মান পাস করে কল করা হয়। কনসোলে প্রাসঙ্গিক আউটপুট প্রদর্শিত হয়।