SóProvas


ID
1099201
Banca
COPEVE-UFAL
Órgão
ALGÁS
Ano
2012
Provas
Disciplina
Programação
Assuntos

Analisando as afirmações seguintes, relacionadas à versão mais nova da máquina virtual Java,

I. A linguagem Java não permite a criação de classes com visibilidade privada (private).

II. A linguagem Java não permite a definição de métodos construtores com visibilidade privada (private).

III. A linguagem Java não permite a definição de pacotes com visibilidade privada (private).

IV. A linguagem Java não permite a utilização de polimorfismo paramétrico.

verifica-se que está(ão) correta(s)

Alternativas
Comentários
  • Eu uso direto construtores privates em classes singleton. Como é que a segunda frase está incorreta?

  • Só existem dois modificadores de acesso para classes em Java, são eles public e default, sendo "public" para classes visíveis por todo o sistema e "default" para classes com visibilidade a nível de pacote.

  • "Comentado por ulliane há 10 meses.

    Eu uso direto construtores privates em classes singleton. Como é que a segunda frase está incorreta?"

    Ulliane, a sentença afirma que "A linguagem Java não permite a definição de métodos construtores com visibilidade privada",  ou seja, está negando a que Java tem esta capacidade, por isso está errada. Ok?

    Quanto ao fato das classes privadas, realmente não há modificador de acesso Private para classes Java mas isso não quer dizer que elas não existam. Ok?  No Java é permitida a criação de classes tanto dentro do corpo de classes publicas e default quanto dentro do corpo de métodos, além disso, ainda existem as classes anônimas que são criadas dentro de chamadas à metodos (precisamente, na passagem de parâmetros), desta forma, dada a visibilidade limitada destas classes ao local de sua implementação, esta característica confere aspecto de modificador de acesso privado (Private) às classes daquele contexto.


  • Classes internas podem ser privadas

    Errei, mas vi isso aqui

    https://www.tutorialspoint.com/java/java_innerclasses.htm