Java में इनहेरिटेंस एक मूल सुविधा है, और एब्स्ट्रैक्शन जैसे OOP के कई सिद्धांत इनहेरिटेंस के ज़रिए ही हासिल किए जाते हैं।
एक क्लास extends कीवर्ड का इस्तेमाल करके दूसरी क्लास को एक्सटेंड कर सकती है, और implements कीवर्ड की मदद से इंटरफेस को इनहेरिट कर सकती है।
एक्सेस मॉडिफायर यह नियम तय करते हैं कि किसी क्लास के मेंबर वेरिएबल और मेथड दूसरी क्लासों से (या कोड में कहीं से भी) कैसे एक्सेस किए जा सकते हैं।
एक्सेस मॉडिफायर चार तरह के होते हैं:
privatepublicprotectedआप इनके बारे में और पढ़ सकते हैं इस लेख में।
ये दोनों अवधारणाएँ बहुत मिलती-जुलती हैं, और अक्सर इनमें उलझन हो जाती है।
interface Animal() {
public void bark();
}
class Dog implements Animal {
public void bark() {
System.out.println("Bark");
}
}
यहाँ Dog का Animal के साथ IS-A संबंध है।
interface Engine {
}
class Car {
private Engine engine;
}
यहाँ Car का Engine के साथ HAS-A संबंध है।