fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class A {
  6. public int calc (double num){
  7. System.out.println("calc A");
  8. return (int)(num+1);}
  9. }
  10. class B extends A{
  11. public int calc (long num){
  12. System.out.println("calc B");
  13. return (int)(num+2);}
  14. }
  15. class C extends B{
  16. public int calc (int num){
  17. System.out.println("calc C");
  18. return num+3;}
  19. }
  20. class D extends C{
  21. public int calc (float num){
  22. System.out.println("calc D");
  23. return (int)(num+4);}
  24. }
  25.  
  26. class Program{
  27. public static void main(String[] args){
  28. int num1=10;
  29. long num2 = num1;
  30.  
  31. Object o1 = num1;
  32. System.out.println("num1 Type: "+o1.getClass().getName());
  33.  
  34. Object o2 = num2;
  35. System.out.println("num2 Type: "+o2.getClass().getName());
  36.  
  37.  
  38. A a1=new D();
  39. A a2=new D();
  40.  
  41. System.out.println("a1 Type: "+a1.getClass().getName());
  42. System.out.println("a2 Type: "+a2.getClass().getName());
  43.  
  44. int result = a1.calc(num1)+a2.calc(num2);
  45. System.out.println("Number: "+result);
  46. }
  47. }
Success #stdin #stdout 0.11s 320576KB
stdin
Standard input is empty
stdout
num1 Type: java.lang.Integer
num2 Type: java.lang.Long
a1 Type: D
a2 Type: D
calc A
calc A
Number: 22