# इनहेरिटेंस — कोर जावा

Source: https://www.geekswithgeeks.com/hi/core-java/java-inheritance

> extends व super से कोड पुनः उपयोग करें, देखें हर क्लास Object से आती है, Java एकल क्लास इनहेरिटेंस क्यों देती है, और कम्पोज़िशन कब बेहतर है।

## extends और super

सबक्लास एक ही सुपरक्लास को `extends` करती है। `super(...)` पैरेंट कंस्ट्रक्टर बुलाता है। Java में **एकल** क्लास इनहेरिटेंस है।

```java
class Animal {
    Animal(String name) { /* ... */ }
    String sound() { return "..."; }
}
class Dog extends Animal {
    Dog() { super("dog"); }
    @Override String sound() { return "woof"; }
}
```

## कम्पोज़िशन को प्राथमिकता

गहरे इनहेरिटेंस ट्री नाज़ुक होते हैं। अक्सर "has-a" (फ़ील्ड के रूप में ऑब्जेक्ट रखना) अधिक लचीला है।
