SóProvas


ID
2751910
Banca
FCC
Órgão
TRT - 2ª REGIÃO (SP)
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere a interface Java declarada abaixo.

public interface NewInterface {

}

A instrução que não causará erro se colocada no corpo desta interface (entre as chaves) é:

Alternativas
Comentários
  • Interface: Esta tem objetivo criar um “contrato” onde a Classe que a implementa deve obrigatoriamente obedecer.


    public interface MinhaPrimeiraInterface {

        /* Métodos que obrigatoriamente devem ser implementados pela Classe que implementar esta Interface */

        public void metodo1();

        public int metodo2();

        public String metodo3(String parametro1);


    https://www.devmedia.com.br/java-interface-aprenda-a-usar-corretamente/28798

  •  a) default int obterDados(); 

             Incorreta, Em Java 8 até podemos ter metodos default, que podem ser implementados na interface, entretanto como NÃO PODEMOS IMPLEMENTAR uma interface, e com isso, não podemos ter um retorno, e se não  retornaremos nada, usamos o VOID, o que falta para validar a alternativa.

     

     b) public  NewInterface();

         Incorreta, faltou o tipo de retorno void( indicando que o método não possui retorno);

     c) protected void consultarProcesso();

           Incorreta, Mas perai... o void está ali, o método não está implementado, então qual o erro da alternativa?  O modificador de acesso PROTECTED, em uma interface só podemos ter os modificadores de acesso public ou default(java 8).

     d) public void NewInterface();

            CORRETA, método sem implementação, modificador de acesso public, tipo de retorno void. Outras classes implementarão corretamente esse método.

     e) public int aumentarSalario(int s){return s*1.1;}

           Incorreta, podemos até possuir métodos com assinatura (int s), porém NÃO PODEMOS IMPLEMENTAR MÉTODOS NAS INTERFACES. Reforçando o aviso, em Java 8 podemos implementar, mas precisaremos usar o modificador default

  • Apenas complementando a resposta abaixo do MAX Q, existe outro erro na alternativa E:

    O método aumentarSalario(int s) deve retornar um valor inteiro, mas está retornando um valor float, pois a variável s está sendo multiplicada por 1.1 . 

    public int aumentarSalario (int s) {

               return s*1.1;

    }

  • Fábio, não é bem assim !

    Nesse caso ele apenas retorna o resultado sem a virgula ou seja um valor inteiro o proprio java já faz um "Cast" implicitamente, existe outro nome para isso que no momento eu esqueci.

  • Quem não tem acesso:  - -> D

  • default no Java 8 não é modificador de acessor, mas sim uma palavra reservada indicado que o método na interface possuirá uma implementação default

    chama-se virtual extension methods

    visibilidade na interface sempre public