O que é Java estende a palavra-chave?
class ParentClass{ ...}
class ChildClass extends ParentClass { ... }
Qual herança em Java?
Para entender o uso da palavra-chave extends em Java, primeiro é essencial entender o conceito de herança. Java é uma linguagem de Programação Orientada a Objetos (OOP). OOP é um método para projetar um programa usando classes e objetos. Ao lidar com classes e objetos, pode haver certos relacionamentos entre diferentes classes que precisam ser representados. A herança é um desses relacionamentos entre classes. Herança denota É-um-relacionamento entre objetos. Herança pode ser definida como o mecanismo onde uma classe adquire as propriedades de outra classe. A classe herdada é chamada de classe filha ou subclasse, enquanto a classe herdada é chamada de classe pai ou superclasse. Estendeem Java é a palavra-chave usada para executar a herança entre as classes.Exemplo
O exemplo da palavra-chave Java extends é o seguinte:class Animal {
// fields of the parent class
String name;
String sound;
int noOfLegs;
// default constructor of the parent class
public Animal (){}
// parameterized constructor of the parent class
public Animal (String name, String sound, int legs){
this.name = name;
this.sound = sound;
this.noOfLegs = legs;
}
// method of the parent class
public void display() {
System.out.println("My name is " + name);
System.out.println("My sound is " + sound);
System.out.println("My no. of legs is " + noOfLegs);
}
}
// inherit from Animal
class Dog extends Animal {
String color;
String breed;
// new method in subclass
public Dog(String name, String sound ,int legs, String color, String breed){
super(name,sound,legs);
this.color = color;
this.breed = breed;
}
public void display() {
super.display();
System.out.println("My color is " + color);
System.out.println("My breed is " + breed);
}
}
public class Main {
public static void main(String[] args) {
// create an object of the subclass
Dog dog1 = new Dog("Billy","Bark",4,"Brown","Labrador");
dog1.display();
System.out.println("------------------");
Dog dog2 = new Dog("Grace","Bark",4,"Black","Husky");
dog2.display();
System.out.println("------------------");
Dog dog3 = new Dog("Hugo","Bark",4,"Gray","Poodle");
dog3.display();
}
}
Saída
Meu nome é Billy Meu som é Bark Meu não. de pernas é 4 Minha cor é Brown Minha raça é Labrador ------------------ Meu nome é Grace Meu som é Bark Meu no. de pernas é 4 Minha cor é Black Minha raça é Husky ------------------ Meu nome é Hugo Meu som é Bark Meu no. de pernas é 4 Minha cor é cinza Minha raça é Poodle