java儿子_java中的父亲和儿子类

在之前几节的课程中,我们最常用到的是Student类,在现实生活中,确实学生类的应用范围是很广的:教务管理系统中,所有的对象都是能看做是一种类型。但是在现实生活中,如果将该教务管理系统用于一所大学,那么大学生类UStudent就会区别于之前的学生类Student,但是UStudent类中的方法名称和Student类中的方法名称是一样的。当然,大学生还会有自己特有的方法。这个问题出现了,怎样去解决呢?难道有重新来写一个大学生类,并且重复敲一遍和学生类中一样的代码吗?那样浪费了时间和精力,并且浪费了存储空间,是很不划算的。

于是,子类这个概念就应运而生了。子类继承父类,顾名思义,子类能沿用父类的某些东西,解决各种问题和困扰。继承的关键字是extends,子类继承了其父类的属性和方法。但是,大学生类中的学习study()方法和学生一定是有所区别的——他们拥有更多的个人随意支配时间,能够有更多空间发展个人学习特长爱好等等更加具体的学习方法。这就涉及到了一个概念:重写。重写时,方法的定义和父类的是一样的,但是方法的实现和父类中的不同,更加事无巨细、更符合特定的大学生群体的特征。其次,俗话说得好,”青出于蓝而胜于蓝“,子类能够拥有一些父类没有的方法,比如,上校选课的方法、听各种讲座的方法等等,这是父类中没有的。

当创建对象时,如果是这样创建的:父类名 对象名 = new 子类名(),那么这里的对象究竟是哪种类型的变量呢?子类还是父类?答案是,这里会自动转型,子类对象会自动转换为父类对象。但是,调用方法时,调用的方法是父类中的还是子类中的呢?答案是,如果子类重写了父类的方法,那么调用的就是子类中的方法,否则调用的是子类中的方法。要谨而慎之的是,这里对象能够调用的方法仅限于父类中已经有定义的方法,不能调用子类特别的方法。

好,现在继承机制已经做了一点剖析,继承机制在java中友引发了什么有趣的场景呢?事实上,由于继承和重写,同时Student类型的变量,调用相同的方法,可能出现的结果就是不同的。这就是java里的”多态“。计算机专业学生、心理学专业学生、电子商务专业学生分别学习,由于其继承了学生类但是分别重写了study()方法,因此也会出现不同的结果。

换个说法,继承就像是一个母鸡生了很多蛋一样,孵出来的每个小鸡都是完全不一样的,但是他们拥有相似的要做的事情,比如吃小米、晒太阳、翻泥土————这样一来,世界才是五彩缤纷、多姿多彩的。同样的,类的世界有了继承才更完善。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值