ইন্টারফেস একটি আচরণের প্রোটোকল সংজ্ঞায়িত করে, ইমপ্লিমেন্টেশন কীভাবে হবে সেটা না। একটি ক্লাস যা ইন্টারফেস ইমপ্লিমেন্ট করে, সে সেই ইন্টারফেস দ্বারা সংজ্ঞায়িত প্রোটোকল মেনে চলে।
- ইন্টারফেস ভেরিয়েবল
staticহওয়ার কারণ হল জাভা ইন্টারফেস নিজ থেকে ইনস্ট্যানশিয়েট করা যায় না। ভেরিয়েবলের মান অবশ্যই একটি স্ট্যাটিক কনটেক্স্টে অ্যাসাইন করতে হবে যেখানে কোনো ইনস্ট্যান্স নেই। finalমডিফায়ার নিশ্চিত করে যে ইন্টারফেস ভেরিয়েবলে অ্যাসাইন করা মান একটি আসল কনস্ট্যান্ট যা পুনরায় অ্যাসাইন করা যাবে না। অন্য কথায়, ইন্টারফেস শুধু কনস্ট্যান্ট ঘোষণা করতে পারে, ইনস্ট্যান্স ভেরিয়েবল নয়।
টেমপ্লেট :
interface interfaceName {
// Any number of final, static variables
datatype variableName = value;
// Any number of abstract method declarations
returntype methodName(list of parameters or no parameters);
}