SóProvas


ID
4834108
Banca
Exército
Órgão
EsFCEx
Ano
2020
Provas
Disciplina
Programação
Assuntos

Na linguagem de programação Java, as classes abstratas

Alternativas
Comentários
  • - A principal característica da classe abstrata e fornecer um modelo para classes derivadas

    - Podem conter métodos estáticos e estes podem ser invocados.

    - Não podem ser instanciadas.

    - Pode conter métodos finais.

    Resposta correta letra (E)

  • A) podem conter métodos estáticos, mas eles somente podem ser invocados a partir de instâncias de classes derivadas.

    Os métodos estáticos (static), ou métodos de classe, não precisam de objetos (instâncias) para serem invocados.

    B) somente registram a definição dos métodos, sem uma implementação. A implementação deve ser obrigatoriamente fornecida pela classe derivada.

    Classe Abstrata: pode conter métodos concretos (com implementação) e métodos abstratos (apenas com definição, sem implementação)

    A característica da letra B se refere a Interfaces

    C) não podem ser derivadas por outras classes abstratas.

    Ela serve justamente com o propósito de ser herdada, funciona como um molde, não importa se a subclasse será abstrata ou concreta (neste último caso, a classe concreta deve fornecer implementação para cada método abstrato herdado).

    D) não podem conter métodos finais.

    Podem sim, a única observação que faço, é que os métodos finais não poderão ser sobrescritos nas classes derivadas (subclasses).

    E) podem conter métodos estáticos e estes podem ser invocados.

    CORRETO, eis o gabarito, vejam que aqui não foi se quer mencionado que foi invocado a partir de instância, pois ele não utiliza instância conforme descrito no comentário da letra "A".

  • Trata-se de uma questão sobre Java.

    O comando da questão faz um questionamento sobre classes abstratas, vamos ver as alternativas.

    A) Errada. Métodos estáticos são da classe, e não do objeto, ele seria acessível sempre pela classe que o implementou.

    B) Errada. Classes abstratas podem ter métodos concretos (com implementação). Interfaces que não podem definir métodos com sua implementação.

    C) Errada. Classes abstratas podem ser derivadas por outra classe abstrata.

    D) Errada. Classe abstrata pode conter método final.

    E) Certa. Sim, uma classe abstrata pode conter um método concreto, e esse método pode ser estático, sendo invocado.


    Gabarito do Professor: Letra E.
  • package com.mycompany.app

     

    abstract class AbstractClass { 

    public static void metodo() { 

    System.out.println("Uma classe abstrata pode conter um método concreto, e esse método pode ser estático, sendo invocado.")

     

    class App{ 

    public static void main(String[] args) { 

    AbstractClass.metodo()

  • Uma Classe Abstrata não realiza instanciações de objetos dentro da própria classe, ou seja ela necessita de outra classe, para realizar a implementação dos objetos. (Uma classe herda da classe abstratas assumindo seus objetos).

    Um método abstrato só pode existir dentro de uma classe abstrata, sendo assim não possui corpo (implementação) ou seja necessita de subclasses para ser implementada de fato, em uma classe abstrata pode-se existir métodos concretos (Com implementação).