(1).class Z {} 
  class A extends Z 
  { void A() {} } 
  这段代码里编译器为什么给A提供1个默认的构造器?构造器没有返回值,用void修饰不应该编译错误吗?
(2). Given: 
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 
这道题为什么选A?B为什么不对?
另外在1个类的内部任何位置都可以声明这个类自己的对象吗?

解决方案 »

  1.   

    那个只是和构造方法名相同的一个一般方法.和构造方法没关系.
    AB一样的怎么选.
      

  2.   

    (1)那是方法不是构造器。
    (2)放到内部类中会提示没有对应封装实例,在主类中没有问题,相当于创建内部类的实例吧。
      

  3.   

    1.第一个根本不是一个构造器  就是一个普通方法
    2.有点迷惑
      

  4.   

    (2)应该是静态方法中不能创建内部类的实例