SóProvas


ID
2768251
Banca
FAURGS
Órgão
TJ-RS
Ano
2018
Provas
Disciplina
Programação
Assuntos

Instrução: Considere o código Java abaixo para responder a questão, supondo que ServicoTributado está especificada em outro código, acessível por Servico.

1     public class Servico implements ServicoTributado {
2             public String nomeServico;
3             private int codServico;
4             private int valor;
5             public Servico (String nome) { this(nome, 0, 0);}
6             public Servico(String nome, int cod, int valor) {
7                         nomeServico = nome;
8                         codServico = cod;
9                         this.valor = valor;
10                       }
11     public double calculaTributo ( int valor) {
12             double tributo;
13             // calcula tributo
13             return tributo;
14             }
15     }

Considere a escrita de uma linha de código Servico servicoL= new Servico (“Lavagem”) e analise as afirmações abaixo.

I - A linha de código resulta na declaração de uma variável e na criação de uma instância da classe “servicoL” com a string “Lavagem” no campo “nomeServico” e com os demais valores indefinidos.
II - A linha de código resulta na declaração de uma variável com identificador “Lavagem”.
III- A linha de código resulta na declaração de uma variável e na criação de uma instância da classe “Servico” com a string “Lavagem” no campo “nomeServico” e com os demais valores zerados.

Quais estão corretas?

Alternativas
Comentários
  • LETRA C

    ...
    7            public Servico (String nome) { this(nome, 0, 0);} - Este é construtor chamado pela linha inserida. Ele faz uma chamada ao 2º Construtor, passando como parâmetro o nome recebido e cod e valor, ambos zerados.
    6             public Servico(String nome, int cod, int valor) {
    7                         nomeServico = nome;
    8                         codServico = cod;
    9                         this.valor = valor;
    10                       }
    ...

  • (F) I - A linha de código resulta na declaração de uma variável e na criação de uma instância da classe “servicoL” ("Servico") com a string “Lavagem” no campo “nomeServico” e com os demais valores indefinidos (zerados).

    (F) II - A linha de código resulta na declaração de uma variável com identificador Lavagem. ("servicoL")

    (V) III- A linha de código resulta na declaração de uma variável e na criação de uma instância da classe “Servico” com a string “Lavagem” no campo “nomeServico” e com os demais valores zerados. 

    Gabarito C

  • Um detalhe é que nem precisava inicializar "codServico" e "valor". Quanto o int é atributo de objeto ou atributo static, ele já é inicializado com zero.

    A exceção é quando for declarado dentro de um método.