JAVA內部類要點及面試題
阿新 • • 發佈:2018-12-26
(編輯整理中...)
QUESTION NO: 4 1. public class Outer{ 2. public void someOuterMethod() { 3. // Line 3 4. } 5. public class Inner{} 6. public static void main( String[]argv ) { 7. Outer o = new Outer(); 8. // Line 8 9. } 10. } Which instantiates an instance of Inner? A. new Inner(); // At line 3 B. new Inner(); // At line 8 C. new o.Inner(); // At line 8 D. new Outer.Inner(); // At line 8//new Outer().new Inner() 答案如下: public輸出結果: 5 0public class Outer { private int num; public Outer() {} public Outer(int num) { this.num = num; } private class Inner { public Outer getOuter() { return Outer.this; } public Outer newOuter() { return new Outer(); } } public static void main(String[] args) { Outer test = new Outer(5); Outer.Inner inner = test.new Inner(); Outer outer = inner.getOuter(); Outer outer2 = inner.newOuter(); System.out.println(outer.num); System.out.println(outer2.num); } }