fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. class Program
  8. {
  9. public static void FunF(A o)
  10. {
  11. o.F();
  12. }
  13. public static void FunG(A o)
  14. {
  15. o.G();
  16. }
  17.  
  18. public static void main(String[] args)
  19. {
  20. A a = new A();
  21. B b = new B();
  22.  
  23. System.out.print("Fun(a) output: "); FunF(a);
  24. System.out.print("Fun(b) output: "); FunF(b);
  25. System.out.print("Fun(a) output: "); FunG(a);
  26. System.out.print("Fun(b) output: "); FunG(b);
  27.  
  28. System.out.print("a.F output: "); a.F();
  29. System.out.print("a.G output: "); a.G();
  30. System.out.print("b.F output: "); b.F();
  31. System.out.print("b.G output: "); b.G();
  32.  
  33. }
  34. }
  35. class A
  36. {
  37. public void F()
  38. {
  39. System.out.println("A.F");
  40. }
  41.  
  42. public void G()
  43. {
  44. System.out.println("A.G");
  45. }
  46. }
  47.  
  48. class B extends A
  49. {
  50. public void F()
  51. {
  52. System.out.println("B.F");
  53. }
  54.  
  55. public void G()
  56. {
  57. System.out.println("B.G");
  58. }
  59. }
Success #stdin #stdout 0.06s 380224KB
stdin
Standard input is empty
stdout
Fun(a) output: A.F
Fun(b) output: B.F
Fun(a) output: A.G
Fun(b) output: B.G
a.F output: A.F
a.G output: A.G
b.F output: B.F
b.G output: B.G