public class O3 { public class Top { protected int a = 0; public Top() { String x = toString(); System.out.println("new Top: = " + x); } public String toString() { return "Top (a = " + a + ")"; } } public class Bottom extends Top { public Bottom(int i) { a = i; } public String toString() { return "Bottom (a = " + a + ")"; } } public void top() { Top x = new Top(); System.out.println("method top: " + x); } public void bottom() { Bottom x = new Bottom(23); System.out.println("method bottom: " + x); } public static void main(String[] args) { O3 olt = new O3(); if (args.length != 0) olt.top(); else olt.bottom(); } }