Declarações e Modificadores de Classe

Os modificadores se dividem em duas categorias:
Modificadores de acesso: public, protected e private
Modificadores que não se referem a acesso: strictfp, final e abstract

Uma classe pode ser declarada apenas com os modificadores public ou default, os outros dois níveis de controle de acesso não se aplicam para classes.

Modificadores de Acesso

Quando você não coloca nenhum modificador precedendo o nome da classe esta classe fica com o acesso default(Padrão), com esse acesso uma classe A só pode ser acessada de dentro do seu pacote, caso uma classe B que esteja em outro pacote, esta não poderá instanciar a classe A e nem mesmo criar uma variável do tipo A.

Uma declaração de classe com a palavra-chave public dá a todas as classes, de todos os pacotes, acesso à classe pública. Em outras palavras, todas as classes do Universo Java têm acesso a uma classe pública. No entando, não se esqueça, de que, se uma classe pública que estiver tentando usar estiver em um pacote diferente do da classe que está escrevendo, você ainda precisará importar a classe pública.

Modificadores que não se referem a acesso

Você pode mudar um declaração de classe usando as palavras-chaves final, abstract ou strictfp.Você pode usar esses modificadores com qualquer modificador de controle de acesso, por exemplo public e final.

  • Classes Finais: Quando usada na declaração de uma classe, a palavra-chave final não permite que nenhuma outra classe possa estender (herdar de), ou seja ela não pode ser subclassificada. Você só deverá marcar uma classe como final se tiver absoluta certeza que nenhum dos seus métodos deverá substituído.
  • Classes Abstratas: Uma classe abstrata não pode ser instanciada nunca, seu único propósito é ser extentida. nas classes abastratas se apenas um único método for abstract, toda a classe deverá se declarada como abstract. Embora uma classe abstract possa ter métodos não abstracts, com isso você dá a todas as subclasses concretas implementações de métodos herdados. Não é possível marcar uma classe como abstract e final ao mesmo tempo, pois eles tem significados quase que opostos.
  • Strictfp: É uma palavra-chave que pode ser usada para modificar uma classe ou método, mais nunca uma variável. Marcar uma classe com strictfp significa que qualquer código ou método na classe se conformará as regras do padrão IEEE 754 para pontos flutuantes, sem esse padrão os valores de pontos flutuantes vão se comportar de forma variante conforme a plataforma.

 

Fonte: Guia de Estudo SCJP
Autor Kathy Sierra e Bert Bates

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s