fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. abstract class A {
  6. public void coucou(){
  7. System.out.println("Je suis A");
  8. }
  9. }
  10.  
  11. class B extends A {
  12. @Override
  13. public void coucou(){
  14. System.out.println("Je suis B");
  15. }
  16. }
  17.  
  18. class C extends A {
  19. @Override
  20. public void coucou(){
  21. System.out.println("Je suis C");
  22. }
  23. }
  24.  
  25. class UneClasse {
  26. public void uneMethode(A a){
  27. System.out.println("Signature (A) : ");
  28. a.coucou();
  29. }
  30.  
  31. public void uneMethode(B a){
  32. System.out.println("Signature (B) : ");
  33. a.coucou();
  34. }
  35. }
  36.  
  37. class Ideone {
  38. public static void main (String[] args) throws java.lang.Exception {
  39. UneClasse c = new UneClasse();
  40. c.uneMethode(new A(){});
  41. B a1 = new B();
  42. c.uneMethode(a1);
  43. C a2 = new C();
  44. c.uneMethode(a2);
  45. }
  46. }
Success #stdin #stdout 0.1s 320512KB
stdin
Standard input is empty
stdout
Signature (A) : 
Je suis A
Signature (B) : 
Je suis B
Signature (A) : 
Je suis C