Questões de Concurso
Comentadas sobre plataforma java em programação
Foram encontradas 585 questões
(__)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.
No contexto do desenvolvimento de um sistema orientado a objetos em Java, um Analista de Sistemas está projetando uma hierarquia de classes para representar diferentes formas de cálculo de benefícios em um sistema governamental. Durante a implementação, foi definido que:
• Existe um método na superclasse responsável por calcular um benefício.
• Esse método é redefinido nas subclasses, mantendo o mesmo nome, a mesma lista de parâmetros (assinatura) e o mesmo tipo de retorno (ou compatível/covariante).
• A escolha de qual implementação será executada ocorre em tempo de execução, de acordo com o tipo real do objeto.
Considerando os conceitos de polimorfismo na orientação a objetos, assinale a alternativa que representa CORRETAMENTE esse mecanismo.
No contexto do desenvolvimento de um sistema em Java 8, um Analista de Sistemas está implementando uma rotina para processar uma lista de transações financeiras em uma aplicação de uma agência de fomento. Durante o processamento utilizando Streams, por meio da API (Application Programming Interface), surgiu a necessidade de ignorar os primeiros elementos da sequência, a fim de desconsiderar registros iniciais que já haviam sido previamente analisados, permitindo que apenas os demais elementos fossem processados no fluxo. Considerando as operações disponíveis na API de Streams do Java 8, assinale a alternativa que representa CORRETAMENTE a operação utilizada para esse fim.
No contexto do desenvolvimento de sistemas em Java, um Analista de Sistemas com atuação em Arquitetura de Software está revisando o gerenciamento de memória da JVM (Java Virtual Machine) para garantir a eficiência de uma aplicação corporativa em uma agência de fomento. Durante a análise, foi necessário identificar o segmento de memória responsável por armazenar as definições das classes carregadas pela JVM, incluindo metadados e informações estruturais utilizadas durante a execução do programa. Considerando o funcionamento da JVM e seu gerenciamento de memória, assinale a alternativa que representa CORRETAMENTE esse segmento.
Considerando a necessidade de integração com aplicações Java já existentes e o uso de boas práticas de mapeamento objetorelacional, assinale a alternativa que possibilita a persistência de dados e o gerenciamento eficiente das informações.
Com relação à Linguagem de desenvolvimento JAVA, analise os itens a seguir:
I. O desenvolvimento de aplicações empresariais, APIs RESTful e microsserviços, focando em arquitetura e produtividade, pode ser obtido pelo uso de Frameworks (Spring Boot, Quarkus).
II. A partir do Java 8 (JSR 335: Lambda Expressions for the Java™ Programming Language) houve transição do paradigma puramente imperativo para o paradigma funcional, permitindo que o código Java fosse mais conciso, legível e preparado para processamento paralelo.
III. O acesso a dados em Java pode ocorrer pelo uso de frameworks ORM (Object-Relational Mapping), como o Hibernate, sendo viabilizado de forma robusta pela API JDBC que provê a conectividade base, e evolui para uma gestão estruturada através da especificação Jakarta Persistence (JPA).
Está correto o que se afirma em
Com relação à JAVA e a OOP, assinale (V) para a afirmativa verdadeira e (F) para a falsa.
( ) O Java emprega uma adesão consistente aos princípios orientados a objetos, tendo a abstração como supressão intencional, ou ocultação, de alguns detalhes de um processo ou artefato, focando nas características e comportamentos essenciais de um objeto do mundo real.
( ) Java não permite classes sem pais, pois a herança é mandatória e centralizada, e usa dynamic binding (Ligação Dinâmica ou Tardia) como comportamento padrão para métodos de instância em Java para vincular chamadas de método às definições de métodos, que corresponde ao Polimorfismo (de inclusão ou sobreposição).
( ) Java usa interfaces para fornecer uma forma de suporte à herança múltipla, que não possui todas as desvantagens da herança múltipla real.
As afirmativas são, respectivamente,