SóProvas


ID
2709262
Banca
SUGEP - UFRPE
Órgão
UFRPE
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre o uso da palavra-chave ‘final’ em Java, assinale a alternativa correta.

Alternativas
Comentários
  • A resposta mais correta e completa com certeza é a letra A, porém a letra C ñ está de todo errada, haja visto q um método ou variável static é implicitamente final. 

  • Há 2 visões que explicam a alternativa C:

    1ª) Corrente usada nos concursos publicos, visão  MAJORITARIA nas PROVAS DE CONCURSOS PUBLICOS

    Se seguirmos  a primeira corrente, o colega Israel cometeu um pequeno deslize, e  a alternativa C está TOTALMENTE INCORRETA.

    A palavra-chave final está bem definida na alternativa, a grosso modo, é para definir uma constante na linguagem java, visto que a variável não poderá ser modificada.

    Já a palavra-chave static, que dizer que uma variável pertence a classe e não ao objeto, ou seja, todas as instâncias de uma classe verão a mesma variavel, as variáveis com a palavra-chave static podem se modificar, porém o valor será refletido para todas as outras instâncias que puderem acessar esse valor;

    2ª) Como disse, nunca vi tal corrente de pensamento sendo empregada nas provas de concursos públicos

    Haja vista que um metodo final NÃO PODE SER SOBRESCRITO e um metodo static também não é SOBRESCRITO e sim implementado novamente, o metodo static seria SIM IMPLICITAMENTE FINAL.

     

     

    Levando em conta o que os Mestres do provas de TI sempre falam " o examinador não é o papa do assunto, ele não possui, em muitos casos, conhecimento aprofundado do assunto"  E como essa 2ª corrente daria muito 'pano pra manga' e muitas discussões acadêmicas, meu humilde conselho é adotar a 1ª corrente, ou seja, que static e final são diferentes pelo simples fato que uma pode ser, respectivamente, modificável e a outra não.

     

    Se algum colega tem conhecimento de alguma prova que usou static como final e vice-versa, por favor me mande uma mensagem, pois o caminho da aprovação é longo e estamos juntos nessa caminhada!

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

  • Variáveis de instância final

    - A palavra-chave final especifica que uma variável não é modificável.

    - Essas variáveis devem ser inicializadas quando são declaradas ou por cada um dos construtores de uma classe.

    - Se uma variável final não é inicializada na sua declaração ou em cada construtor, ocorre um erro de compilação.

    Alternativa: A

  • Sobre a C, final e static são dois conceitos diferentes. Não há como considerar a alternativa como verdadeira.

    Se faz sentido usar final em método static é outra discussão. O que não faz, mas o final irá sim gerar resultados diferentes nesse caso.

    .

    class Pai {

    public static final void MetodoPai() {}

    }

    class Filha extends Pai {

    public static final void MetodoPai() {} // vai dar erro de compilação por causa do final do Pai

    }