有参数的父类构造函数

有参数的父类构造函数

如果父类的构造函数有参数该怎么办?你能够传值进去吗?如果不行的话,则没有无参数构造函数的类将不能被继承。想象这个情景:所有的动物都有名字。所以Animal这个类有个getName()可以返回name实例变量的值。此实例变量是被标记为私有的,但Hippo这个子类有把getName()继承下来。这时候问题来了:

Hippo有getName()这个方法但是没有name实例变量。Hippo要靠Animal的部分来维持name实例变置,然后从getName()来返回这个值,但Animal要如何取得这个值呢?唯一的机会是通过super()来引用父类,所以要从这里把name的值传进去,让Animal把它存到私有的name实例变量中。

public abstract class Animal {
    private String name;  
    public String getName() {
        return name;
    }

    public Animal(String theName) { 
        //有参数的构造函数
        name = theName;
    }
}

public class Hippo extends Animal {
    public Hippo(String name) {
        //这个也要跟父类一样有同类型的参数
        super(name);  //这个name会传值给父类的构造函数
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值