L'héritage permet de "customiser" une classe existante en l'"étendant". La nouvelle classe récupère ainsi tous les éléments de l'ancienne : elle en hérite.
Par exemple notre classe "ConsoleTexte" hérite de javax.swing.JFrame qui hérite elle-même d'autres classes.
Cela nous donne par exemple la possibilité de changer sa position, de la réduire ou de la masquer, en utilisant essentiellement des méthodes que JFrame a elle-même héritées.
Par exemple
package initial;
import java.awt.Frame;
public class Heritage {
public static void main(String[] args) {
ConsoleTexte fenetre1=new ConsoleTexte(); Créé une fenêtre nommée fenetre1
fenetre1.setLocation(200,300);Place le coin supérieur gauche de fenetre1 aux coordonnées (200,300) de l'écran
fenetre1.setTitle("Fenêtre 1"); Donne un titre à la fenêtre fenetre1
ConsoleTexte fenetre2=new ConsoleTexte(); Créé une fenêtre nommée fenetre2
fenetre2.setLocation(520,300); Place le coin supérieur gauche de fenetre1 aux coordonnées (520,300) de l'écran
fenetre2.setTitle("Fenêtre 2"); Donne un titre à la fenêtre fenetre2
fenetre1.toFront();remet la fenêtre fenetre1 au premier plan
fenetre1.ecritln("Cliquer sur Ok pour minimiser l'autre fenêtre");
fenetre1.getDonnees(); Attend que l'utilisateur clique sur le bouton "Ok" de fenetre1
fenetre2.setState(Frame.ICONIFIED); Réduit fenetre2 à une icône sur la barre des tâches
fenetre1.ecritln("Cliquer sur Ok pour rouvrir l'autre fenêtre");
fenetre1.getDonnees();
fenetre2.setState(Frame.NORMAL); Restaure fenetre2 à sa taille précédente
fenetre1.ecritln("Cliquer sur Ok pour cacher l'autre fenêtre");
fenetre1.getDonnees();
fenetre2.setVisible(false); Rend fenetre2 invisible
fenetre1.ecritln("Cliquer sur Ok pour montrer l'autre fenêtre");
fenetre1.getDonnees();
fenetre2.setVisible(true); Rend fenetre2 visible
fenetre1.ecritln("Ecrivez un message pour l'autre fenêtre");
String message=fenetre1.getDonnees();
fenetre2.ecritln(message);