Lesson 10 of 20
Inheritance
Inheritance
A subclass extends a parent class, inheriting its fields and methods:
class Animal {
String name;
Animal(String name) { this.name = name; }
String speak() { return name + " makes a sound"; }
}
class Dog extends Animal {
Dog(String name) { super(name); } // call parent constructor
@Override
String speak() { return name + " barks"; } // override
}
Animal a = new Dog("Rex");
System.out.println(a.speak()); // Rex barks
Key Points
extendsdeclares inheritancesuper(args)calls the parent constructor (must be first line)@Overridemarks overridden methods (optional but good practice)- Java has single inheritance for classes
Polymorphism
An Animal reference can hold any subclass:
Animal[] pets = {new Dog("Rex"), new Cat("Luna")};
for (Animal a : pets) {
System.out.println(a.speak()); // calls the right version
}
Your Task
Create Animal, Dog, and Cat classes. Dog.speak() appends "!" to the parent's result. Print each animal's speak() as shown.
TeaVM (WASM) loading...
Loading...
Click "Run" to execute your code.