Monthly Archives: March 2011

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

Acesso a Membros de Classes

Abaixo uma tabela que mostra todas as combinações de acesso e visibilidade.

Visibilidade Public Protected Default Private
A partir da mesma classe Sim Sim Sim Sim
A partir de qualquer classe do mesmo pacote Sim Sim Sim Não
A partir de uma subclasse do mesmo pacote Sim Sim Sim Não
A partir de uma subclasse de fora do mesmo pacote Sim Sim (herança) Não Não
A partir de qualquer classe que não seja uma subclasse e esteja fora do pacote Sim Não Não Não

SCJP ai vou eu!!!

Hoje começei meus estudos para tirar a  certificação Sun Certified Java Programmer (SCJP), fiz todo o planejamento de estudo, deverei estar fazendo a prova na segunda quinzena de Agosto. Alguns podem achar muito tempo, mais prefiro fazer um planejamento longo que dê certo do que um curto que acabe furando o prazo.

Como material de referência estou usando o livro da Kathy Sierra – Certificação Sun para Programadores Java 6 GUia de Estudo SCJP Exame 310-065.

scpjlivro

Esse livro é totalmente voltado para a prova de certificação, nele constam exercicios simulados, dicas e sugestões de como se preparar melhor para a prova.

A partir de amanhã espero estar sempre postando a evolução do meu estudo, e quem sabe ajudar aqueles que um dia quiserem fazer a certificação SCJP.

Java a Bola da Vez

Desde que comecei minha vida profissional, sempre trabalhei na plataforma .Net. Sempre achei legal a metodologia do framework que ela utiliza, torna as aplicações muito mais rápidas de serem desenvolvidas. Porém recentemente no trabalho recebemos a recomendação de migrar tudo para software livre, ou seja, vamos para Java. No começo fiquei meio receoso devido ao Java ser bem menos produtivo que o .Net, contudo para minha supresa fui apresentado ao framework JBoss Seam, este framework quebrou meus paradigmas em relação a desenvolver em Java.

O  JBoss Seam é um framework que está acima do framework (Java EE), que por sua vez está acima do framework (Java). A palavra framework tem amplo significado dependendo de como é usado e de quem a está usando. No caso do Seam, ele molda um conjunto de API’s e serviços em um ambiente que facilita escrever aplicações web Java EE. Em outras oportunidades falarei mais sobre o Seam.

Como conhecimento é poder, não pretendo abandonar a plataforma .Net, continuarei estando suas novidades e evoluções com toda a empolgação que sempre tive, porém agora também vou acompanhar o mundo Java (Seam).

Até mais a todos !!!