Tutoriais Java

Java HOME Introdução ao Java Java Começar Sintaxe Java Comentários Java Variáveis ​​Java Tipos de dados Java Cast de tipo Java Operadores Java Strings Java Java Math Java Booleanos Java Se... Senão Comutador Java Java While Loop Java para loop Java Break/Continuar Matrizes Java

Métodos Java

Métodos Java Parâmetros do método Java Sobrecarga do método Java Escopo Java Recursão Java

Classes Java

Java OOP Classes/objetos Java Atributos de classe Java Métodos de classe Java Construtores Java Modificadores Java Encapsulamento Java Pacotes Java / API Herança Java Polimorfismo Java Classes internas de Java Abstração Java Interface Java Enumerações Java Entrada de usuário Java Data Java Java ArrayList Java LinkedList Java HashMap Java HashSet Iterador Java Classes Java Wrapper Exceções Java Java RegEx Threads Java Java Lambda

Manipulação de arquivos Java

Arquivos Java Java Criar/Gravar Arquivos Arquivos de leitura Java Java Excluir Arquivos

Java como fazer

Adicionar dois números

Referência Java

Palavras-chave Java Métodos de String Java Métodos matemáticos Java

Exemplos Java

Exemplos Java Compilador Java Exercícios de Java Teste Java Certificado Java


Abstração Java


Classes e métodos abstratos

A abstração de dados é o processo de ocultar certos detalhes e mostrar apenas informações essenciais ao usuário.
A abstração pode ser alcançada com classes abstratas ou interfaces (sobre as quais você aprenderá mais no próximo capítulo).

A abstractpalavra-chave é um modificador sem acesso, usado para classes e métodos:

  • Classe abstrata: é uma classe restrita que não pode ser usada para criar objetos (para acessá-la, ela deve ser herdada de outra classe).

  • Método abstrato: só pode ser usado em uma classe abstrata e não possui corpo. O corpo é fornecido pela subclasse (herdado de).

Uma classe abstrata pode ter métodos abstratos e regulares:

abstract class Animal {
  public abstract void animalSound();
  public void sleep() {
    System.out.println("Zzz");
  }
}

A partir do exemplo acima, não é possível criar um objeto da classe Animal:

Animal myObj = new Animal(); // will generate an error

Para acessar a classe abstrata, ela deve ser herdada de outra classe. Vamos converter a classe Animal que usamos no capítulo Polimorfismo para uma classe abstrata:

Lembre-se do capítulo Herança que usamos a extendspalavra-chave para herdar de uma classe.

Exemplo

// Abstract class
abstract class Animal {
  // Abstract method (does not have a body)
  public abstract void animalSound();
  // Regular method
  public void sleep() {
    System.out.println("Zzz");
  }
}

// Subclass (inherit from Animal)
class Pig extends Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
}

class Main {
  public static void main(String[] args) {
    Pig myPig = new Pig(); // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}

Por que e quando usar classes e métodos abstratos?

Para obter segurança - oculte certos detalhes e mostre apenas os detalhes importantes de um objeto.

Nota: A abstração também pode ser alcançada com Interfaces , sobre as quais você aprenderá mais no próximo capítulo.