इंटरफेस में मेथड्स डिफ़ॉल्ट रूप से एब्स्ट्रैक्ट होते हैं। इसका मतलब है कि एक इंटरफेस में मेथड्स में केवल मेथड सिग्नेचर होगा और अंदर कोई सामग्री नहीं होगी। आइए एक उदाहरण देखें:
उदाहरण
interface Car{
public void carSpeed();
public void sleep();
}
class Porsche implements Car{
public void carSpeed(){
System.out.println("पोर्श की गति बहुत अधिक है");
}
public void sleep(){
System.out.println("कुछ मिलीसेकंड के लिए सो रहा है");
}
}
public class Demo{
public static void main(String[] args){
Porsche my_car = new Porsche();
my_car.carSpeed();
my_car.sleep();
}
}
आउटपुट
पोर्श की गति बहुत अधिक है कुछ मिलीसेकंड के लिए सो रहा है
Car नामक एक इंटरफेस को carSpeed और sleep नामक दो फंक्शन्स के साथ परिभाषित किया जाता है। अब, इस इंटरफेस को Porsche नामक एक क्लास द्वारा लागू किया जाता है। यह क्लास carSpeed और sleep को परिभाषित करती है जबकि इंटरफेस ने केवल उन्हें परिभाषित किया था और उनके पास बॉडी नहीं थी। अब, Demo नामक एक क्लास में मुख्य फंक्शन होता है जो Porsche क्लास का एक इंस्टेंस बनाता है। इस इंस्टेंस को carSpeed और sleep फंक्शन्स पर कॉल किया जाता है।