java 多态的表现

    java的继承,像是生活中常见的例子一样,子女从父母那里得到父母拥有的财产……
    java的继承,涉及到的是子类和父类之间。在业务中,当我们需要定义的好几个类中,都拥有某些相同的属性或者方法,那么,我们是要把这些,几个类中都有的方法、属性在每一个类中都写下来!?答案是否定的!
    java中,重要的两大思想:复用 和 分而治之。
这里,我们就要用到复用的这个思想:我们将相同的属性和方法定义在一个类中,让某些需要这些方法、属性的类来继承之前定义的类。这样,之前定义的类我们叫它为父类,继承了它的类叫做子类。
    不得不提到继承的好处,除了少写了代码实现代码的重用外,这样的设计方式更让我们可以更加的集中关注点在子类特有的方法和属性上。

    在代码的实现上很简单,一个关键字“extends”实现。具体写法:在子类后面写上:extends 父类名。
    在内存的实现上,是一种叠加的原理。即是在拥有父类的属性、方法后,自己特有的再继续的拥有。
我们知道,在创建对象时,首先调用的是构造方法,那么,紧接着的就是调用构造方法的三件事:为对象划分内存空间;细致到为此对象的属性和方法划分空间;对属性初始化。
这样的叠加原理,那么子类就必定拥有了父类的所有方法和属性。(构造方法例外!因为构造方法最基本的要求是方法名要和类名相同,子类当然没办法和父类的名称相同)。
值得一提的是,父类所定义的私有方法或者属性,子类同样的继承了的,只是不能访问而已。原因,还是叠加的原理!

    关于方法的重载:指的是在同一个类中,同样的方法,有不同的实现方式。
其写法:同一个类中的同名方法,但是参数列表必须不一样。
        所谓的参数列表不一样,是指参数的个数、类型、顺序,至少其中之一不一样。

    关于方法的重写,指的是在父类定义了的方法,由子类自己用自己的实现方式来实现。
其写法,有着严格的要求:方法名、参数列表、返回类型都要相同。
                       访问修饰符、抛出的异常类型,向上兼容。
计算机在找寻方法时,根据的是方法名和方法的参数列表。所以,方法的重写,内存里面,是子类的这个方法覆盖了父类定义的这个方法。
重写的官方描述是:允许同一父类的不同子类有相同的行为,但具体的实现方式不一样。这里,我们显而易见,这也是多态的一种体现!

    当写到这样的类时,就频繁地开始用到这几个关键字:this super。
this,代表的是当前对象,而super代表的是当前对象的父对象。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值