Académique Documents
Professionnel Documents
Culture Documents
Neste conteúdo você aprenderá a criar sua primeira classe na linguagem Java. Aprenda também
a usar herança e interfaces, bem como métodos, atributos e propriedades.
Ir para o código
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 1/8
17/03/2018 Classe em Java: Como criar minha primeira classe em Java
A declaração de classes na linguagem Java é feita com uma sintaxe simples, de fácil
compreensão e nos permite criar atributos, propriedades e métodos. Por exemplo, na Figura
1 temos a representação de uma classe chamada Produto e, logo em seguida, vemos como essa
26
27 public void setPreco(double preco) {
28 this.preco = preco;
29 }
30 }
Linha 1: Nessa linha temos os seguintes termos: public define que a classe produto estará disponível em todo o
projeto; class define que estamos criando uma classe; e Produto é o nome da classe.
Linhas 3 a 5: Aqui temos o que chamamos de atributos. São variáveis privadas que representam as características da classe.
Note o modificador de acesso private , que indica que tais variáveis só poderão ser acessadas de dentro da classe na qual
foram declaradas, bem como o tipo e o nome de cada atributo.
Linhas 7 a 9: Já aqui temos os métodos da classe, que são públicos. Esses métodos garantem que os atributos da classe não
sejam acessados diretamente. Com isso implementamos o encapsulamento, um dos pilares da orientação a objetos.
Getters e Setters
Observe que para cada atributo da classe declaramos dois métodos. Os métodos de
prefixo get são chamados getters e retornam, por padrão, o valor do atributo ao qual se referem.
Já aqueles precedidos da palavra set são chamados setters e tem por função atribuir valor ao
Herança
Herança é um tipo de relacionamento muito comum na orientação a objetos e ocorre quando uma
os seus próprios. Por exemplo, considere o diagrama de classes da Figura 2em que Assinatura
herda de Produto.
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 3/8
17/03/2018 Classe em Java: Como criar minha primeira classe em Java
Nesse cenário a classe Assinatura herda de Produto e também define propriedade e método
Linha 1: A herança em Java é representada pela palavra-chave extends na declaração da classe, seguida do nome da classe
da qual se deseja herdar. Nesse caso, Assinatura herda de Produto;
Linhas 3, 9 a 11, 13 a 15: Nesse trecho temos o atributo dataExpiracao , bem como os getters e setters que permitem acessar
esse atributo;
Linhas 5 a 7: O método calculaPeriodoAteExpiracao retorna um Period , classe nativa do Java que representa um
intervalo de tempo (nesse caso o tempo que falta até a assinatura expirar);
Interfaces
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 4/8
17/03/2018 Classe em Java: Como criar minha primeira classe em Java
comportamentos que devem ser cumpridos pelas classes. Nesta relação dizemos que Assinatura
implementa a interface Expiravel. Na Figura 3 temos um diagrama que mostra uma nova
Nesse cenário a interface Expiravel define que toda classe que representa um produto cuja data
Desconto, por exemplo, ela poderia implementar essa classe e definir o comportamento desse
método.
Linha 1: Note o uso da palavra reservada interface e também no nome da interface: Expiravel . Em Java convencionou-se
nomear as interfaces como Expiravel, Compravel, Colecionavel.
Linha 3: Em uma interface todos os métodos são públicos, portanto é comum omitirmos o modificador de acesso public . Tais
métodos também são abstratos e sua implementação fica por conta da classe que implementa a interface.
Agora, considerando que a classe Assinatura implementa a interface Expiravel, seu código seria
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 5/8
17/03/2018 Classe em Java: Como criar minha primeira classe em Java
05
06 @Override
07 public Period calculaPeriodoAteExpiracao() {
08 return Period.between(dataExpiracao, LocalDate.now());
09 }
10
11 public LocalDate getDataExpiracao() {
12 return dataExpiracao;
13 }
14
15 public void setDataExpiracao(LocalDate dataExpiracao) {
16 this.dataExpiracao = dataExpiracao;
17 }
18 }
Linha 1: Em Java declaramos a relação de implementação através da palavra-chave implements . Essa declaração deve
sempre vir após a declaração de herança, como demonstrado acima.
Linhas 6 a 9: Uma vez que Assinatura implementa a interface Expiravel , devemos obrigatoriamente declarar
em Assinatura um corpo para o método calculaPeriodoAteExpiracao .
que as duas assinaturas sejam iguais, gerando um erro de compilação caso não sejam.
Diferente de outras linguagens, no Java a herança múltipla não é permitida. Porém, embora só
Uma interface define um contrato, que além de descrever o que uma classe deve fazer, obriga
essa classe a fazê-lo. Geralmente nos valemos desse recurso quando notamos que um certo
Considere por um momento que sua aplicação contém as classes Assinatura e Desconto.
Perceba um comportamento comum entre essas classes: ambas expiram após um certo período
de tempo. Mas como modelar esse comportamento já que essas são classes tão distintas?
Considerando que em algum momento você precise calcular e exibir os dias restantes até a
expiração, a fim de tomar ações baseando-se nesse dado, como fazê-lo sem duplicar seu código?
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 6/8
17/03/2018 Classe em Java: Como criar minha primeira classe em Java
Uma abordagem pode ser mover o atributo data de expiração para a classe Produto,
Mas note que nem todo Produto expira. Além disso, o que fazer com a classe Desconto, que não
é um Produto? Para resolver essa questão precisamos isolar o comportamento de expirar em uma
Para ilustrar como fazê-lo, vamos redefinir o método exibirDiasAteExpirar para receber a
interface Expiravel em lugar de alguma de suas implementações, como Assinatura, Desconto, etc.
E agora nessa nova abordagem, podemos calcular os dias para expiração de forma flexível,
problema de termos no futuro diferentes formas para expirar algo. Se quisermos dar dias de
redenção na Assinatura antes de registrar sua expiração, por exemplo, nosso programa estará
pronto para ser modificado, necessitando apenas de pequenos ajustes em um local específico: a
A partir desses conceitos podemos criar diversas outras classes e interfaces, com seus atributos,
Sugestão de conteúdo
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 7/8
17/03/2018 Classe em Java: Como criar minha primeira classe em Java
Links Úteis
Aprender a consultar dados armazenados em bancos de dados relacionais é um importante passo na construção de
sistemas.
Aprenda neste exemplo como criar interfaces ricas com Bootstrap e JSF. Saiba como o Pass-through elements pode te
ajudar a ter mais controle sobre o HTML gerado pelos componentes nativos.
Guias Java:
Encontre aqui os Guias de estudo que vão ajudar você a aprofundar seu conhecimento na linguagem Java. Desde o básico
Nesse Guia de Referência você encontrará o conteúdo que precisa para iniciar seus estudos sobre a tecnologia Java, base
https://www.devmedia.com.br/como-criar-minha-primeira-classe-em-java/38940 8/8