java中实例化继承内部类的类?

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:37:09
在java中 要实例化继承内部类的类, 首先要实例化外部类 ,为什么要调用外部类的super();
class Car
{
class Wheel
{

}
}
class PlaneWheel extends Car.Wheel
{
PlaneWheel(Car car)-----必须要有这个方法吗?原因?
{
car.super(); ————为什么要调用car的构造函数?而不是Car.Wheel的构造函数这地方搞不懂?
}
public static void main(String[] args)
{
Car car = new Car();
//PlaneWheel pw = new PlaneWheel();
PlaneWheel pw = new PlaneWheel(car);
}
}

必须要有这个方法,因为内部类是不允许其他类直接访问的,必须要有一个包装类的引用来指向这个内部类,此例中Car就是包装类,对于car.super()就是为了确保有一个Car的对象实例指向Wheel.此处不能调用Wheel的构造方法,这是java的硬性规定