黑马程序员技术交流社区

标题: 怎样调用父类构造函数给子类字段赋值? [打印本页]

作者: 李晶晶    时间: 2013-6-7 11:39
标题: 怎样调用父类构造函数给子类字段赋值?
本帖最后由 李晶晶 于 2013-6-9 09:01 编辑

怎样调用父类构造函数给子类字段赋值。。。。对这一部分比较晕啊  求指教。。。。
作者: 274997322    时间: 2013-6-7 13:57
直接上几张图能看得见么?

父类.jpg (33.03 KB, 下载次数: 0)

父类

父类

子类.jpg (38.96 KB, 下载次数: 0)

子类

子类

主方法.jpg (29.33 KB, 下载次数: 0)

调用

调用

运行结果.jpg (21.25 KB, 下载次数: 0)

运行结果

运行结果

作者: 许庭洲    时间: 2013-6-7 14:08
//显示转换,把父类变量赋值给子类变量
Vehicle ve= new Vehicle ();//Vehicle 为汽车类
Car ca = (Car )ve;//Car为小车类


作者: 李晶晶    时间: 2013-6-7 14:44
274997322 发表于 2013-6-7 13:57
直接上几张图能看得见么?

恩恩。。。我跟你想的是一样的  用Base关键字把子类构造函数的参数传递给父类,所以父类的构造函数就可以用这个传递的参数进行初始化了。。。。然后就可以利用父类的构造函数来给子类的字段进行赋值了。。。
作者: 胡章诚    时间: 2013-6-8 23:31
在父类中增加一个无参数的构造函数可以实现

class animal
{
    public int eyes;
    pubilc int legs;
    protected float height;
    public animal(){;}  //在父类添加一个无参数的构造函数
    public animal(int e,int l,float h)
    {
         eyes=e;
         legs=l;
         height=h;
    }
}
class cow:animal
{
    int num;
    public animal(int e,int l,float h,int n):base(e,l,h)
     {
          eyes=e;
         legs=l;
         height=h;
         num=n;
      }
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2