内部类和外部类的一个问题

class Car
{
class Wheel
{
}
}

class PlaneWheel extends Car.Wheel
{
PlaneWheel(Car car)
{
car.super();//这里怎么理解??
}
public static void main(String[] args)
{
Car car=new Car();
PlaneWheel pw=new PlaneWheel(car);
}
}

也许下面代码更有说服力:
[quote][code="java"]class Car {

public Car() {
    super();
}

void run() {

}

class Wheel {
    Wheel(){
        System.out.println("能否运行这里?");
    }
    void round() {
    }
}

}

public class PlaneWheel extends Car.Wheel {
PlaneWheel(Car car) {
car.super();// 这里怎么理解??

}

public static void main(String[] args) {
    Car car = new Car();
    PlaneWheel pw = new PlaneWheel(car);
}

}[/code][/quote]

[quote]
[code="java"]
car.super();//这里怎么理解??
[/code]
[/quote]

调用Car的父类的构造函数

1.先弄明白没个类如果没有定义构造函数,会有一个默认的无参构造函数
2.再搞清楚super是指当然类的父类

我倒觉得是:
[quote][code="java"]car.super();//这里怎么理解??[/code][/quote]
我觉得是调用的是Wheel的构造方法。

car.super()不是调用的Object的构造方法么?这与内部类外部类有什么关系,因为这段代码里的类全都是default类型的。

首先要搞清楚,继承的问题,显然,继承的是Car.Wheel,那么父类就是Wheel,这个跟是不是内部类无任何关系,至于下面的car.super();//这里怎么理解??
这个调用,那更是跟那个扯不上半毛钱关系,传入一个Car类对象,调用它的父类构造方法,他采用的默认的,那么调用的不是就是object的吗, 这个没什么疑问的。

我在eclipse下测试了一下,结果是
Wheel类的构造方法。
我的测试代码如下:

[quote][code="java"]
class Car {
public Car() {
super();
}

void run() {

}

class Wheel {
    void round() {
    }
}

}

public class PlaneWheel extends Car.Wheel {
PlaneWheel(Car car) {
car.super();// 这里怎么理解??

}

public static void main(String[] args) {
    Car car = new Car();
    PlaneWheel pw = new PlaneWheel(car);
}

}[/code][/quote]

你只要把光标放到super()方法上eclipse就会告诉你了。