Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida Ex. 1 da Aula 4 - Interfaces

public  class Circulo implements AreaCalculavel{

    double diametro;
    double raio;

    Circulo(double diametro){
        this.diametro = diametro;
        this.calculaRaio(this.diametro); //(Linha Amarela)
    }

    public double calculaRaio(double diametro){
        return this.raio = diametro / 2;
    }


    @Override
    public double calculaArea() {
        return (Math.PI * Math.pow(this.raio, 2));
    }

}

Boa Tarde,

Pessoal estou com uma duvida, essa é minha classe Circulo, ela compila e funciona porem o netbeans fica pedindo para eu colocar "final" Assim:

public final class Circulo implements AreaCalculavel{
    //.....
}

E não sei pra que serve esse final, pois não mudou nada... deixando ou removendo esse "final" ele compila.. alguém tem uma explicação por que esse final ?

Obg..

1 resposta
solução!

Opa, o final indica que ninguém pode herdar da sua classe... Um exemplo, a classe String é assim :). O Java não quer que ninguém altere a maneira que a classe String se comporte :).

Em geral tende ser uma boa prática, não sabe se quer alguém herdando da sua classe, deixa ela final. Tem linguagem que o default é a classe ser final.