Skip to content

Instantly share code, notes, and snippets.

@rinaldodev
Last active June 7, 2019 16:54
Show Gist options
  • Save rinaldodev/89206ba497ad9307130a0f7ef42ff69f to your computer and use it in GitHub Desktop.
Save rinaldodev/89206ba497ad9307130a0f7ef42ff69f to your computer and use it in GitHub Desktop.
RinaldoDev - JAVA 8: Métodos DEFAULT em INTERFACES | https://youtu.be/oZ6vLDuQiX4
package dev.rinaldo.java8interfaces.defaultmethod;
// RinaldoDev - JAVA 8: Métodos DEFAULT em INTERFACES
public class AssinaturasIguais {
public static void main(String[] args) {
new Pessoa().correrRapido();
}
interface Corredor {
default void correrRapido() {
System.out.println("Corredor correndo rápido.");
}
}
interface Piloto {
default void correrRapido() {
System.out.println("Piloto correndo rápido.");
}
}
static class Pessoa implements Corredor, Piloto {
@Override
public void correrRapido() {
System.out.println("Pessoa correndo rápido.");
}
}
// Youtube: RinaldoDev
// Twitter: @rinaldodev
// Site: https://rinaldo.dev
// Facebook: Página rinaldo.dev
// GitHub: rinaldodev
}
package dev.rinaldo.java8interfaces.defaultmethod;
// RinaldoDev - JAVA 8: Métodos DEFAULT em INTERFACES
public class Default {
// Métodos Default em interfaces são para evitar que você
// tenha que fornecer uma implementação para um novo método
// em uma interface.
public static void main(String[] args) {
new Pessoa().correr();
new Piloto().correr();
new Avestruz().correr();
new Pessoa().correrRapido();
new Piloto().correrRapido();
new Avestruz().correrRapido();
}
interface Corredor {
abstract void correr();
default void correrRapido() {
System.out.println("Correndo.");
}
}
static class Pessoa implements Corredor {
@Override
public void correr() {
System.out.println("Pessoa correndo.");
}
@Override
public void correrRapido() {
System.out.println("Pessoa correndo rápido.");
}
}
static class Piloto implements Corredor {
@Override
public void correr() {
System.out.println("Piloto correndo.");
}
}
static class Avestruz implements Corredor {
@Override
public void correr() {
System.out.println("Avestruz correndo.");
}
}
// Youtube: RinaldoDev
// Twitter: @rinaldodev
// Site: https://rinaldo.dev
// Facebook: Página rinaldo.dev
// GitHub: rinaldodev
}
package dev.rinaldo.java8interfaces.defaultmethod;
import dev.rinaldo.java8interfaces.defaultmethod.AssinaturasIguais.Corredor;
import dev.rinaldo.java8interfaces.defaultmethod.AssinaturasIguais.Piloto;
// RinaldoDev - JAVA 8: Métodos DEFAULT em INTERFACES
public class Heranca {
public static void main(String[] args) {
new Pessoa().correrRapido();
}
interface Corredor {
default void correrRapido() {
System.out.println("Corredor correndo rápido.");
}
}
interface Piloto extends Corredor {
default void correrRapido() {
System.out.println("Piloto correndo rápido.");
}
}
static class Pessoa implements Piloto {
}
// Youtube: RinaldoDev
// Twitter: @rinaldodev
// Site: https://rinaldo.dev
// Facebook: Página rinaldo.dev
// GitHub: rinaldodev
}
package dev.rinaldo.java8interfaces.defaultmethod;
// RinaldoDev - JAVA 8: Métodos DEFAULT em INTERFACES
public class HerancaMultipla {
public static void main(String[] args) {
new Pessoa().correr();
new Pessoa().pilotar();
}
interface Corredor {
default void correr() {
System.out.println("Corredor correndo.");
}
}
interface Piloto {
default void pilotar() {
System.out.println("Piloto pilotando.");
}
}
static class Pessoa implements Corredor, Piloto {
}
// Youtube: RinaldoDev
// Twitter: @rinaldodev
// Site: https://rinaldo.dev
// Facebook: Página rinaldo.dev
// GitHub: rinaldodev
}
@rinaldodev
Copy link
Author

Este conteúdo é referente ao meu canal RinaldoDev no YouTube, vídeo entitulado JAVA 8: Utilize métodos DEFAULT em INTERFACES e refatore mais fácil: https://youtu.be/oZ6vLDuQiX4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment