Last active
June 7, 2019 16:54
-
-
Save rinaldodev/89206ba497ad9307130a0f7ef42ff69f to your computer and use it in GitHub Desktop.
RinaldoDev - JAVA 8: Métodos DEFAULT em INTERFACES | https://youtu.be/oZ6vLDuQiX4
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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