Informática, perguntado por rafael17foz, 10 meses atrás

Os construtores são métodos especiais, que são chamados no momento em que o objeto é criado. Assim como os métodos, os construtores também podem receber parâmetros. Normalmente, esses parâmetros servem para inicializar os atributos do objeto. É possível ter vários construtores em uma classe e um construtor pode chamar outro construtor. Nesse sentido, observe o código abaixo:

1 public class InstrumentoMusical {
2 private String nome;
3 private String som;
4
5 public InstrumentoMusical(String nome) {
6 this.nome = nome;
7 som = "Não possui ou está quebrado.";
8 }
9
10 public InstrumentoMusical(String nome, String som) {
11 this.nome = nome;
12 this.som = som;
13 }
14
15 public InstrumentoMusical(InstrumentoMusical outroInstrumento) {
16 nome = outroInstrumento.nome;
17 som = outroInstrumento.som;
18 }
19
20 public InstrumentoMusical() {
21 }
22 }

Considerando o código acima, avalie as afirmações abaixo.

I – Uma classe pode ter vários construtores, desde que eles não possuam a mesma quantidade de parâmetros.
II – O terceiro construtor é inválido, pois ele está acessando diretamente os atributos privados de um objeto. Os atributos privados só podem ser acessados pelo próprio objeto.
III – A classe InstrumentoMusical é válida, mesmo sem o método main.
IV – O último construtor é válido mesmo tendo o corpo vazio.

É correto o que se afirma em:
Alternativas
Alternativa 1:
I e II, apenas.

Alternativa 2:
II e III, apenas.

Alternativa 3:
III e IV, apenas.

Alternativa 4:
I, II e III, apenas.

Alternativa 5:
II, III e IV, apenas.

Soluções para a tarefa

Respondido por LarissaMoura3
12

Alternativa 1:  I e II, apenas.

Os construtores correspondem a métodos especiais, que devem ser chamados quando ocorre a criação do objeto. Dessa forma, os construtores podem apresentar parâmetros.  

Vários construtores podem estar presentes em uma classe, considerando que eles não apresentem quantidade igual de parâmetros.

No código referente à questão, o terceiro construtor é inválido, visto que ele realiza o acesso direto aos atributos privados de um objeto.

Bons estudos!

Perguntas interessantes