O que é uma interface em Java?

A interface em Java é semelhante a uma classe, mas o corpo de uma interface pode incluir apenas métodos abstratos e campos finais (constantes). A interface de classe implementsan, fornecendo código para cada método declarado pela interface.

Aqui está uma interface básica que define um único método, chamado jogável, que inclui um único método chamado Toque:

interface pública reproduzíveis {void play () -}

Esta interface declara que qualquer classe que implementa a jogável interface deve fornecer uma implementação para um método chamado Toque que não aceita parâmetros e não retorna um valor.

Note-se que o nome da interface (jogável) É um adjetivo. A maioria das interfaces são nomeadas com adjetivos em vez de substantivos porque descrevem alguma capacidade adicional ou qualidade das classes que implementam a interface. Deste modo, as classes que implementam a jogável interface de representar objetos que podem ser reproduzidos.

No caso de não ter sido a aula de Inglês em quando, uma adjetivo é uma palavra que modifica um substantivo. Você pode converter muitos verbos para adjetivos, acrescentando -capaz para o fim da palavra - jogável, legível, dirigível, e stoppable, para example.This tipo de adjetivo é comumente usado para os nomes de interface.

Todos os métodos em uma interface são assumidos pública e abstrato. Para implementar uma interface, uma classe deve fazer duas coisas:

  • É necessário especificar um implementos cláusula sobre a sua declaração de classe.

  • Ele deve fornecer uma implementação para cada método declarado pela interface.

Aqui está uma classe que implementa a jogável interface:

classe pública TicTacToe implementa reproduzíveis {// campos e métodos adicionais ir jogar herepublic void () {// código que joga o jogo vai aqui} // campos e métodos adicionais aqui}

Aqui, a declaração para a Jogo da velha Especifica classe implementa reproduzíveis. Em seguida, o corpo da classe inclui uma implementação do Toque método.

Uma classe pode implementar mais de uma interface:

HeartsGame classe pública implementa jogável, JogoDeCartas {// deve implementar métodos da reproduzíveis // e interfaces Cardgame}

Aqui, o HeartsGame classe implementa duas interfaces: jogável e Jogo de cartas.

Uma interface é uma espécie de tipo, assim como uma classe. Como resultado, você pode usar uma interface como o tipo de uma variável, parâmetro ou valor de retorno do método.

Considere este trecho de código:

jogo jogável = getGame () - game.play () -

Aqui, você assumir que a getGame método retorna um objeto que implementa a jogável interface. Este objecto é atribuído a uma variável do tipo jogável na primeira instrução. Em seguida, a segunda instrução chama o objeto de Toque método.

Alternativamente, você poderia chamar o construtor de uma classe que implementa a jogável interface. Por exemplo, suponha que uma classe chamada HeartsGame implementa o jogável interface. Então, você poderia usar o seguinte código:

Jogável jogo = new HeartsGame () -

menu