fork download
  1. class Main {
  2. static class ClassA {
  3. public int publicMember;
  4. private int privateMember;
  5.  
  6. public static String publicStatic = "Public Static";
  7. private static String privateStatic = "Private Static";
  8.  
  9. public ClassA(int x, int y) {
  10. publicMember = x;
  11. privateMember = y;
  12. }
  13.  
  14. public int getPrivateMember() {
  15. return privateMember;
  16. }
  17. public void setPrivateMember(int v) {
  18. privateMember = v;
  19. }
  20.  
  21. public static String getPrivateStatic() {
  22. return privateStatic;
  23. }
  24. public static void setPrivateStatic(String v) {
  25. privateStatic = v;
  26. }
  27.  
  28. public int calc() {
  29. return publicMember + privateMember;
  30. }
  31. }
  32.  
  33. static class ClassB extends ClassA {
  34. private int z;
  35.  
  36. public ClassB(int x, int y, int z) {
  37. super(x, y);
  38. this.z = z;
  39. }
  40.  
  41. public int calc() {
  42. return (super.calc() * z) + publicMember;
  43. }
  44. }
  45.  
  46. public static void main(String[] args) throws Exception {
  47. ClassA o1 = new ClassA(1, 2);
  48. ClassA o2 = new ClassA(3, 4);
  49. ClassB o3 = new ClassB(5, 6, 7);
  50. ClassB o4 = new ClassB(8, 9, 10);
  51. ClassB o5 = (ClassB)o4.getClass().getConstructors()[0].newInstance(new Integer(11), new Integer(12), new Integer(13));
  52.  
  53. System.out.println(o1.calc());
  54. System.out.println(o2.calc());
  55. System.out.println(o3.calc());
  56. System.out.println(o4.calc());
  57. System.out.println(o5.calc());
  58.  
  59. ClassA.publicStatic = "Foo";
  60. ClassA.setPrivateStatic("Bar");
  61.  
  62. System.out.println(ClassA.publicStatic);
  63. System.out.println(ClassA.getPrivateStatic());
  64. System.out.println(ClassB.publicStatic);
  65. System.out.println(ClassB.getPrivateStatic());
  66. System.out.println(o5.publicStatic);
  67. System.out.println(o5.getPrivateStatic());
  68. }
  69. }
Success #stdin #stdout 0.03s 245632KB
stdin
Standard input is empty
stdout
3
7
82
178
310
Foo
Bar
Foo
Bar
Foo
Bar