class Outer
{
class Inner
{
}
}class Test extends Outer.Inner
{
Test(Outer Outer)
{
Outer.super(); //如何理解这一句
}
public static void main(String[] args)
{
Outer Outer=new Outer();
Test pw=new Test(Outer);
}
}如上 如何理解这一句Outer.super()

解决方案 »

  1.   

    //////
    sixme(子曾经曰过:“基础和算法才素王道”。) ( ) 信誉:100  2006-8-18 23:06:13  得分: 0  
       
    调用内部类的constructor?    ///
     其实是建立了内部类和外部类的一种联系,但是我不知道这是什么联系?
     
      

  2.   

    内部类Inner的子类Test的实例需要借助外部类Outer的实例才行
    简单说内部类实例化必需借助外部类的实例
      

  3.   

    内部类和外部类之间通过一个叫句柄的东西相联系的
    这个句柄再使用前必须先初始化
    Outer.super(); 是为了获得句柄的初始化
    不调用的化应该通过不了编译那关如果内部类是静态类就没必要初始化了
    也就没必要
    Outer.super(); 了楼主真小气,才10分
      

  4.   

    Java核心技术卷一里说得的确比较详细
    楼主可以去看看
      

  5.   

    class Outer
    {
      public Outer()
      {
          System.out.println("outer is loading");
      }  class Inner
      {
         public Inner()
         {
     System.out.println("inner is loading");
         }  }
    }public class Test extends Outer.Inner
    {
      Test(Outer outer)
      {
    outer.super(); //如何理解这一句
      }
      public static void main(String[] args)
      {
       Outer Outer=new Outer();
       Test pw=new Test(Outer);
      }
    }这是我在你的程序里加了两句
    输出的结果是
    outer is loading 
    inner is loading
      

  6.   

    //////////////ttaallkk1(j2ee_lover) ( ) 信誉:100  2006-8-19 16:20:31  得分: 0  
       
    内部类和外部类之间通过一个叫句柄的东西相联系的
    这个句柄再使用前必须先初始化
    Outer.super(); 是为了获得句柄的初始化
    不调用的化应该通过不了编译那关如果内部类是静态类就没必要初始化了
    也就没必要
    Outer.super(); 了楼主真小气,才10分
      //////////
    不是我小气,当时设置的时候失误了,本来想给50-100
    不好意思了,我把分给你了~!