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