fork download
  1. class HelloWorld {
  2. public static void main(String args[]) {
  3. Veiculo veiculoT = new Veiculo();
  4. System.out.println("veiculoT");
  5. veiculoT.diagnostico();
  6. veiculoT.liga();
  7. Testador.teste(veiculoT);
  8. Financeiro.compra(veiculoT);
  9. System.out.println("---------------");
  10. Veiculo carro = new Carro();
  11. System.out.println("carro");
  12. carro.diagnostico();
  13. carro.liga();
  14. Testador.teste(carro);
  15. Financeiro.compra(carro);
  16. System.out.println("---------------");
  17. Carro carro2 = new Carro();
  18. System.out.println("carro2");
  19. carro2.diagnostico();
  20. carro2.liga();
  21. carro2.buzina();
  22. Testador.teste(carro2);
  23. Financeiro.compra(carro2);
  24. }
  25. }
  26.  
  27. interface Funcionamento {
  28. default void liga() {
  29. System.out.println("Ligou!");
  30. }
  31. static void buzina() {
  32. System.out.println("Buzinou!");
  33. }
  34. }
  35.  
  36. class Testador {
  37. public static void teste(Funcionamento veiculo) {
  38. System.out.println("Vai testar");
  39. veiculo.liga();
  40. }
  41. }
  42.  
  43. class Financeiro {
  44. public static void compra(Veiculo veiculo) {
  45. System.out.println("Comprou N: " + veiculo.id);
  46. veiculo.diagnostico();
  47. veiculo.liga();
  48. }
  49. }
  50.  
  51. class Veiculo implements Funcionamento {
  52. public int id = 1;
  53. public void diagnostico() {
  54. Funcionamento.super.liga();
  55. Funcionamento.buzina();
  56. liga();
  57. System.out.println("Tudo ok!");
  58. }
  59. }
  60.  
  61. class Carro extends Veiculo {
  62. public void liga() {
  63. System.out.println("Vrom!");
  64. }
  65. public void buzina() {
  66. System.out.println("bi bi!");
  67. }
  68. }
  69.  
  70. //https://pt.stackoverflow.com/q/121240/101
Success #stdin #stdout 0.09s 34028KB
stdin
Standard input is empty
stdout
veiculoT
Ligou!
Buzinou!
Ligou!
Tudo ok!
Ligou!
Vai testar
Ligou!
Comprou N: 1
Ligou!
Buzinou!
Ligou!
Tudo ok!
Ligou!
---------------
carro
Ligou!
Buzinou!
Vrom!
Tudo ok!
Vrom!
Vai testar
Vrom!
Comprou N: 1
Ligou!
Buzinou!
Vrom!
Tudo ok!
Vrom!
---------------
carro2
Ligou!
Buzinou!
Vrom!
Tudo ok!
Vrom!
bi bi!
Vai testar
Vrom!
Comprou N: 1
Ligou!
Buzinou!
Vrom!
Tudo ok!
Vrom!