Questões de Concurso
Comentadas sobre java se em programação
Foram encontradas 84 questões
I- O polimorfismo permite que objetos de classes diferentes sejam tratados por uma mesma abstração, de modo que a seleção do comportamento concreto possa ocorrer em tempo de execução, desde que os tipos envolvidos respeitem o contrato definido por uma interface, classe abstrata ou hierarquia compatível.
II- A herança deve ser utilizada sempre que duas classes compartilham atributos com nomes semelhantes, pois a reutilização estrutural é critério suficiente para estabelecer relação “é-um”, mesmo que os comportamentos esperados das subclasses violem substitutibilidade em relação à superclasse.
III- A redução de condicionais baseadas em tipo concreto pode aumentar a extensibilidade do módulo quando novas políticas de cobrança são adicionadas por meio de novas implementações de uma abstração, sem exigir alteração direta da lógica cliente que consome o contrato comum.
IV- O encapsulamento consiste em tornar todos os atributos privados e todos os métodos públicos, garantindo baixo acoplamento automaticamente, independentemente da exposição de detalhes internos por métodos de acesso e da estabilidade da interface pública da classe.
Analisadas as sentenças, estão CORRETAS apenas:
Observe as assertivas abaixo e, em seguida, assinale a alternativa correta.
I. Em Java, uma classe que implementa uma interface deve fornecer implementações concretas para todos os métodos declarados nessa interface (a menos que a classe seja abstrata).
PORQUE
II. As interfaces em Java permitem que uma classe herde o comportamento e o estado de múltiplas superclasses, contornando a ausência de herança múltipla de classes.
Analise as afirmativas abaixo sobre a programação concorrente em Java, segundo a obra de Deitel.
II. Para iniciar a execução de um thread criado a partir da classe Thread,, deve-se chamar o método run() diretamente no código principal.
III. O estado de um thread que está aguardando o processador para ser executado é chamado de RUNNABLE.
IV. O método sleep() da classe Thread é utilizado para encerrar permanentemente a execução de um thread de baixa prioridade.
Estão corretas apenas as afirmativas
Associe as palavras-chave de controle de fluxo em Java com suas respectivas funções dentro da linguagem.
| Palavra-chave | Função |
|---|---|
| (1) Break (2) Continue (3) Switch (4) Default | ( ) Salta as instruções restantes no corpo da iteração atual e inicia a próxima iteração do laço. ( ) Utilizada para sair imediatamente de uma estrutura de repetição ou de um bloco Switch . ( ) Estrutura de seleção múltipla que testa o valor de uma variável em relação a constantes. ( ) Caso opcional em uma estrutura de seleção múltipla executado se nenhum outro caso coincidir. |
A sequência correta dessa associação é:
Em Java, os objetos da classe String são considerados __________, o que significa que seu conteúdo não pode ser alterado após a criação. Para situações em que é necessária a manipulação intensiva de sequências de caracteres com alterações frequentes de conteúdo, a classe __________ é mais eficiente por permitir modificações in-place.
A sequência de palavras que preenche corretamente as lacunas é:
A classe que está na raiz da hierarquia de classes da linguagem Java é a
Assinale a alternativa CORRETA.
I.Métodos estáticos podem acessar variáveis de instância diretamente sem a necessidade de instanciar um objeto, desde que estejam no mesmo pacote.
II.Um método declarado como final em uma classe pai não pode ser sobrescrito pelas subclasses, garantindo a integridade do comportamento definido.
III.Métodos não estáticos possuem implicitamente a referência "this", que permite acessar o estado interno do objeto específico que invocou o método.
Está correto o que se afirma em:
(__)Interfaces podem declarar atributos de instância com modificadores variados, incluindo privados e não finais.
(__)É possível utilizar a sintaxe InterfaceName.super.metodo() para invocar explicitamente um método default de uma interface.
(__)Se uma classe implementar duas interfaces que possuem métodos default com a mesma assinatura, ela deve sobrescrever o método para resolver o conflito.
Assinale a alternativa que apresenta a sequência correta:
I.A anotação @Override faz com que o compilador verifique se o método realmente sobrescreve um método da superclasse ou interface.
II.Caso um método anotado com @Override não corresponda a nenhum método da superclasse ou interface, ocorrerá erro de compilação.
III.A anotação @Override altera o comportamento do método em tempo de execução, permitindo otimizações na JVM.
É correto o que se afirma em:
I.Arrays em Java mantêm informação de tipo em tempo de execução (reified), enquanto generics utilizam apagamento de tipos (type erasure)
II.Não é permitido criar diretamente arrays de tipos genéricos, como new T[10], independentemente da existência de limites superiores (bounds) para o tipo genérico.
III.A verificação de tipo em arrays ocorre em tempo de execução, podendo gerar uma exceção ArrayStoreException caso um tipo incompatível seja inserido.
É correto o que se afirma em:
No contexto do desenvolvimento de um sistema corporativo em Java, um Analista de Sistemas está projetando uma hierarquia de classes para representar diferentes tipos de usuários em um sistema governamental. Durante a modelagem, foi estabelecido que determinados atributos e métodos de uma classe base:
• Devem ser acessíveis por outras classes que pertençam ao mesmo pacote.
• Devem ser acessíveis por subclasses, mesmo quando estas estiverem em pacotes distintos.
• Não devem ser acessíveis por classes que não sejam do mesmo pacote nem subclasses.
• Não podem possuir acesso irrestrito.
Considerando exclusivamente os modificadores de acesso da linguagem Java, assinale a alternativa que apresenta o modificador que atende integralmente a essas condições.
No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está implementando uma hierarquia de classes para representar diferentes tipos de operações financeiras em um sistema de uma agência de fomento. Durante a implementação, objetos das subclasses são manipulados por meio de referências da superclasse para permitir maior generalização. Em determinado ponto do sistema, torna-se necessário recuperar o tipo específico do objeto para acessar comportamentos exclusivos definidos na subclasse, realizando uma conversão explícita da referência genérica para uma mais específica. Considerando os conceitos de orientação a objetos, assinale a alternativa que representa CORRETAMENTE esse tipo de conversão.