class A
{ A(int i)
{
System.out.println("This is in A"+" "+i);
}
}
class AA extends A
{

AA(int i)
{
System.out.println("This is in AA"+" "+i);
}

}
class AAA extends AA
{

AAA(int x)
{
System.out.println("This is in AAA"+" "+i);
}
public static void main(String[] args)
{
int n= 10;
AAA test1 = new AAA(n);

}
现在想调用A和AA里面的带参数的构造函数应该怎么写啊? 高手指点一下

解决方案 »

  1.   

    class A
    { A(int i)
    {
    System.out.println("This is in A"+" "+i);
    }
    }
    class AA extends A
    {

    AA(int i)
    {
                      super(i);
    System.out.println("This is in AA"+" "+i);
    }

    }
    class AAA extends AA
    {

    AAA(int x)
    {
                      super(x);
    System.out.println("This is in AAA"+" "+i);
    }
    public static void main(String[] args)
    {
    int n= 10;
    AAA test1 = new AAA(n);

    }打印结果:
    This is in A10
    This is in AA10
    This is in AAA10
      

  2.   

    class AAA extends AA
    { AAA(int x)
    {

    //System.out.println("This is in AAA"+" "+i);
    }
    public static void main(String[] args)
    {
    int n= 10;
    AAA test1 = new AAA(n);

    }
      

  3.   

    上面的程序不对啊 是想调用父类的带参数的构造方法 应该怎么做 直接用super编译通不过
      

  4.   

    就是在你注释的前面super(x)
    注释那里打印应该是x
      

  5.   

    class A
    {A(int i)
    {
    System.out.println("This is in A"+" "+i);
    }
    }
    class AA extends A
    {AA(int i)
    {
    System.out.println("This is in AA"+" "+i);
    }}
    class AAA extends AA
    {AAA(int x)
    {
    super(x) ;//这样调用
    System.out.println("This is in AAA"+" "+i);
    }
    public static void main(String[] args)
    {
    int n= 10;
    AAA test1 = new AAA(n);

    }