Como usar métodos padrão em java
Video: Aula Java 21 - Chamando Método de Outra Classe
Conteúdo
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.