A classe Retangulo herda de uma classe vazia, sendo assim ela não aproveita nenhum de seus atributos e deve definir todas as variáveis e métodos. Uma relação de herança é definida em Java por meio da palavra chave extends utilizada como no exemplo seguinte:

public class Retangulo extends Forma {
private int largura ;
private int comprimento ;
public Retangulo(int x, int y) {
this.largura = x ;
this.comprimento = y ;
}
public int getLargura() {
return this.largura ;
}
public int getComprimento() {
return this.comprimento ;
}
public int area() {
return this.comprimento * this.largura;
}
public void mostrar() {
   System.out.println(”retangulo ” + comprimento + ”x” + largura);
}
}

Em revanche, a classe Quadrado pode se beneficiar da classe Retangulo e não precisa reescrever os métodos que se aplicam à subclasse. Todos os métodos e variáveis da classe Retangulo são acessíveis dentro da classe Quadrado. Para que um atributo possa ser utilizado pela subclasse é preciso que seu tipo de acesso seja public ou protected, ou se as duas classes pertencerem a um mesmo package que utilize um tipo de acesso padrão. No exemplo anterior, as variáveis comprimento e largura não são acessíveis dentro da classe quadrado, entretanto a classe poderá utilizar os métodos getLargura() e getComprimento() para obter os valores, visto que esses métodos foram declarados como public.

Atenção: os atributos e métodos com o modificador private não são herdados!
Copyright © 2014 AIEC.