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. /* Name of the class has to be "Main" only if the class is public. */
  8. class Program
  9. {
  10. public static void FunF(A o)
  11. {
  12. o.F();
  13. }
  14. public static void FunG(A o)
  15. {
  16. o.G();
  17. }
  18.  
  19. static void main0(String[] args)
  20. {
  21. A a = new A();
  22. B b = new B();
  23.  
  24. System.out.print("Fun(a) output: "); FunF(a);
  25. System.out.print("Fun(b) output: "); FunF(b);
  26. System.out.print("Fun(a) output: "); FunG(a);
  27. System.out.print("Fun(b) output: "); FunG(b);
  28.  
  29. System.out.print("a.F output: "); a.F();
  30. System.out.print("a.G output: "); a.G();
  31. System.out.print("b.F output: "); b.F();
  32. System.out.print("b.G output: "); b.G();
  33.  
  34. }
  35. public static void main(String[] args)
  36. {
  37. A a = new B();
  38.  
  39. System.out.print("Fun(a) output: "); FunF(a);
  40. System.out.print("Fun(a) output: "); FunG(a);
  41.  
  42. System.out.print("a.F output: "); a.F();
  43. System.out.print("a.G output: "); a.G();
  44.  
  45. }
  46. }
  47. class A
  48. {
  49. public void F()
  50. {
  51. System.out.println("A.F");
  52. }
  53.  
  54. public void G()
  55. {
  56. System.out.println("A.G");
  57. }
  58. }
  59.  
  60. class B extends A
  61. {
  62. public void F()
  63. {
  64. System.out.println("B.F");
  65. }
  66.  
  67. public void G()
  68. {
  69. System.out.println("B.G");
  70. }
  71. }
Success #stdin #stdout 0.07s 380224KB
stdin
Standard input is empty
stdout
Fun(a) output: B.F
Fun(a) output: B.G
a.F output: B.F
a.G output: B.G