读书人

继承个有内部类的类构造函数如何写

发布时间: 2012-01-12 22:11:58 作者: rapoo

继承个有内部类的类,构造函数怎么写?
class Car
{
class Wheel
{
}
}

class PlaneWheel extends Car.Wheel
{
PlaneWheel(Car car)
{
car.super(); // 这句怎么理解?调用 car 的父类构造函数? 调用Object 构造函数?!
}
public static void main(String[] args)
{
Car car=new Car();
PlaneWheel pw=new PlaneWheel(car);

}
}


[解决办法]
super:调用父类具有相同形参的构造函数
[解决办法]

调用Car.Wheel的构造函数
只能且必须用car.super(),而不能用super(),或忽略不写。

[解决办法]
直接理解为继承父类
调用父类的构造函数

[解决办法]
关注
[解决办法]

greathawker() ( ) 信誉:100 Blog 加为好友 2007-5-11 16:26:07 得分: 0
调用Car.Wheel的构造函数
只能且必须用car.super(),而不能用super(),或忽略不写。

**************************************************
刚做了测试,确实调用Car.Wheel的构造函数,但难以理解。
[解决办法]
汗,测试还不容易..你手动建一个无参数的构造器就是.....
[解决办法]
被你们搞得晕头转向了,好像java 版没有像.net版的孟子E章那种高手兼热心人啊.
[解决办法]
class Car
{
public Car(){

System.out.println( "Car ");
}

class Wheel{
public Wheel(){
System.out.println( "Wheel ");
}
}
}

public class PlaneWheel extends Car.Wheel{
PlaneWheel(Car car){
car.super();
System.out.println( "PlaneWheel ");
}

public static void main(String[] args){

Car car=new Car();

PlaneWheel pw=new PlaneWheel(car);
}


}

------------------------
结果:
Car
Wheel
PlaneWheel
[解决办法]
java中让人摸不透的东西之一.
为什么这里是用super而不是用child

读书人网 >J2SE开发

热点推荐