domingo, 5 de junho de 2011

Dicas de Programação: O que são uma final Class e uma classe default em Java?

Saiba que dá para fazer as seguintes coisas:

public final class ClasseFinal {
...
}

class ClasseDefault {
...
}

Agora a pergunta: Para que servem os dois tipos de classe?

A resposta: Para dar dor-de-cabeça a outros programadores. :P

Na verdade, quando você tem um final da declaração de uma classe, isso quer dizer que você não pode herdar dela (ou seja, ela não possui filhos...). Uma classe para este exemplo, é a String (que é final):

//Impossível!!!
public class MinhaString extends String {
...
}

E quando uma classe não possui "public" (ou seja, seu "tipo de acesso" é "default"), a classe é utilizada somente por classes que estejam no mesmo pacote (ela também pode ser declarada no mesmo arquivo de uma que tenha acesso "public"):

package org.teste.publico;

public class ClassePublica {
private ClasseDefault classeDefault;
...
}
class ClasseDefault {
...
}

Bizarro, não?

Até mais!

Nenhum comentário: