// INHERIT8a class A { public int x; A(int x) { this.x = x; } public int getX_1() { return getX_2(); } public int getX_2() { return x; } } class B extends A { public int x = 3; B(int x) { super(x); } // Can't do the following because they create an infinite loop: // public int getX_2() { return getX_1(); } // public int getX_2() { return super.getX_1(); } // Instead: public int getX_2() { return super.getX_2(); } } public class inherit8a { public static void main(String[] args) { System.out.println(new B(1).getX_2()); } } /* 1 */