Como usar métodos padrão em java

Video: Aula Java 21 - Chamando Método de Outra Classe

Embora as interfaces são um recurso incrivelmente útil de Java, eles têm uma limitação inerente: Depois de definir uma interface e, em seguida, construir classes que implementam a interface, não há nenhuma maneira fácil de modificar a interface, adicionando métodos adicionais a ele.

Por exemplo, suponha que você tenha criado a seguinte interface:

interface pública jogável {void play () -}

Você, então, construir várias classes que implementam esta interface. Aqui está um exemplo simples:

classe jogo implementa jogável {jogo public void () {System.out.println ("Boa sorte!") -}}

Este é um jogo bastante inútil, de course- ele simplesmente imprime a mensagem “Boa sorte!” Sempre que o Toque método é chamado.

Video: Java - Aula 73: Criando método padrão para adicionar personagens na tela (Parte 1)

Agora, suponha que você decidir que o jogável interface deve ter um recursos adicionais - especificamente, pretende adicionar a capacidade de terminar o jogo, chamando um método chamado Sair.

Você ficaria tentado a apenas adicionar o novo método para a interface existente, como esta:

interface pública jogável {void play () - vazio quit () -}

Infelizmente, porém, isso vai quebrar o jogos classe porque ele não fornece uma implementação do Sair método.



Você poderia, é claro, modificar o jogos classe, adicionando uma implementação do Sair método. Mas e se você tem escrito dezenas, ou mesmo centenas, de classes que implementam jogável? Como você pode imaginar, uma vez que uma interface tornou-se popular, torna-se quase impossível modificar.

Para aliviar este problema, Java 1.8 introduz um novo tipo de método de interface chamado de método padrão, que fornece o código que será usado como a implementação do método para as classes que implementam a interface, mas não a si mesmos fornecer uma implementação para o método padrão.

Video: Tutorial de Java 16- Usando Metodos con Parametros

Assim, Java 8 permite que você adicione segurança a Sair método para o jogável interface, especificando-a como um método padrão, como este:

Interface jogável {void play () - vazio padrão quit () {System.out.println ("Desculpe, parando não é permitido.") -}}

Aqui o jogável interface especifica que se uma classe de implementação não fornece uma implementação do Sair método, será utilizado o método padrão. Neste caso, o método padrão simplesmente imprime a mensagem “Desculpe, parando não é permitido.”

Note que o exemplo anterior não irá compilar em versões de Java anteriores à 1.8. Se você receber uma mensagem de erro quando você tenta compilar uma interface que utiliza o padrão palavra-chave, verificar a sua versão Java para se certificar de que você está executando a versão 1.8 ou posterior.

Aqui está um exemplo completo que utiliza o jogável interface e seu método padrão:

TestLambdaCollection classe pública {public static void main (String [] args) {jogo g = new Game () - g.play () - g.quit () -}} interface de Playable {void play () - vazio padrão quit () {System.out.println ("Desculpe, parando não é permitido.") -}} class Jogo implementa jogável {jogo public void () {System.out.println ("Boa sorte!") -}}

Quando você executar este programa, o seguinte será exibida no console:

Boa sorte! Desculpe, parando não é permitido.

Publicações relacionadas