Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

crislo

Construtores em Java

Recommended Posts

Olá boa tarde, gostaria de tirar uma dúvida.

Gostaria de saber, por que uma classe pode possuir mais de um construtor? finalidade, vantagem, qual a necessidade...

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende da necessidade do projeto, tem vezes que é necessário ter mais de um construtor para realizar uma operação com um número determinado de parâmetros, pega uma apostila Java da Caelum que explica sobrecarga de construtor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

Existem alguns motivos para que uma classe possa ter diversos construtores. Veja:

  • Forçar que o objeto nasça com todos os atributos "obrigatorios" preenchidos. Por exemplo: não faz sentido, num sistema de cadastro de funcionarios, consegurimos chamarmos o metodo meuFuncionario.salvar() se o funcionário está sem seus dados básicos (nome, data de nascimento e etc);
  • Facilidade. Você pode não ter atributos obrigatórios na sua classe, mas sabe que muitas vezes vai instanciá-la já tendo as informações necessárias para popular alguns atributos. Não seria muito mais prático se já no construtor você passasse toda essa informação ao invés de ter que ficar fazendo setIsso(valor), setAquilo(valor)?

Existem alguns outros motivos mas não me lembro de cabeça rsrs.

Com tudo, acho que esses dois motivos já ajudam né? :)

Atenção! Você pode criar quantos construtores quiser, mas NUNCA deixe uma classe sem seu construtor default (aquele construtor sem argumentos).

Por default, as classes do Java não precisam explicitar esse construtor default até que sejam declarados outros construtores. Nesse caso você deve criar explicitamente o construtor default.

Espero ter ajudado! :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Correção: você deve manter o construtor default quando não for utilizar a "obrigatoriedade" dos atributos (o primeiro bullet).

Se for utilizar a ideia da obrigatoriedade você não deve ter o construtor default.

Mas seja beeeeeeem cuidadoso ao utilizar isso.. Pense em todas as possibilidades de instanciação antes de decidir partir para a obrigatoriedade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro:

      ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null
       
      Já tentei de várias formas resolver esse problema, mas não estou conseguindo.

      Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Estou enfrentando um problema que não consigo entender.

      Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões.

      O problema é:
      ---[ após reiniciar o micro, o MySql não faz as conexões.
      --[ tenta localizar este arquivo, mas não acha: my.ini
       
      Onde localizo ou configuro este arquivo na Pasta MySql ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, preciso de ajuda em Relação a Instalar o Jasper Reports no Eclipse, pois a opção de Eclipse Marketplace, não encontra para instalar.
       
      Já tentei de todas as formas mas não consegui, alguém conhece alguma rotina explicando este procedimento ?
       
      Grato,
       
      Cesar
    • Por violin101
      Caros amantes da informática.
       
      Saudações.
       
      Estou usando o Eclipse Mars versão 4.5.0  e o 4.5.2, acredito que deva ter versões mais novas. 
      Sou novato em JAVA e estou encontrando alguns problema em Instalação de alguns plugins, como por exemplo:
       
      1) quando tento instalar o JBoss Tools através do Eclipse Marteplace, o Eclipse não o encontra na lista de plugins.
      2) se tento instalar através do Install New Software, abaixa alguns arquivos, mas também não instala o JBoss.
      3) se abro o site e arrasto o download para a área de trabalho do Eclipse, também não instala o JBoss.
       
      Caros amigos, existe outra alguma forma de instalar o JBoss Tools no Eclipse e como seria ?
       
      Grato,
       
      Cesar
       
       
    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.