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:
Postar um comentário