FC ConcursosFC Concursos

Questão FC373281

Considere, abaixo, o código de uma classe em Java, que não apresenta erros de sintaxe. public class Manancial { private int codigo; private String nome; private double volume; publ

Linguagens de Programação

FCC · 2019

Considere, abaixo, o código de uma classe em Java, que não apresenta erros de sintaxe.

 

public class Manancial {

       private int codigo;

       private String nome;

       private double volume;

 

       public Manancial ( ){

       }

       public Manancial ( ){

                    codigo = 0;

                    nome = “vazio”;

                    volume = 0;

       }

}

 

Ao analisar a classe declarada acima, um Analista de TI afirma que

  1. não pode existir dentro de uma classe um ou mais métodos com o mesmo nome da classe.
  2. deve-se optar pelo uso do construtor sem parâmetros vazio ou com valores default, pois ambos não podem ser declarados ao mesmo tempo na classe.
  3. há mais de um construtor na classe Manancial, ambos válidos, e isso se chama sobrecarga de métodos em Java.
  4. há mais de um construtor na classe Manancial, ambos válidos, e isso se chama encapsulamento em linguagens orientadas a objeto.
  5. há um único construtor público e sua função é fazer com que um objeto da classe seja criado com seus atributos inicialmente preenchidos com valores fornecidos pelo usuário.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

A afirmação está correta porque em Java não podem existir dois métodos (incluindo construtores) com exatamente a mesma assinatura. A assinatura de um construtor é definida pelo seu nome (igual ao da classe) e pela lista de parâmetros; portanto, dois construtores sem parâmetros são indistinguíveis e causariam erro de compilação.

Assim, ao projetar a classe deve-se optar por apenas um dos dois: um construtor sem parâmetros vazio ou um construtor sem parâmetros que inicialize atributos com valores default. Se nenhum construtor for declarado, o compilador fornece automaticamente um construtor padrão sem parâmetros. Para ter múltiplos construtores válidos é preciso utilizar sobrecarga, isto é, assinaturas diferentes (por exemplo, parâmetros distintos).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo