发表于: 2018-02-02 17:00:09
4 554
Day 5
今天完成的事情:
1.学习昨天比较难懂的重写,多态等.
看了一下要知道多态 必须先了解对象转型 ,对象转型中又包括:
① 向上转型(子类转父类)----向上转型,可以简单的理解为有两个类 差不多 就是说猫(子类)是动物(父类)
② 向下转型(父类转子类)----但是动物(父类)不一定是猫(父类),如果非要让动物是猫的话,就要强制转换 就
有可能会损失精度,像double转int.
这里注释掉的就是向上转型,猫是动物 没有注释的就是强转 动物是猫.
感觉自己对对象转型的概念理解的不够透彻
2.重写
父类Animal 提供了eat的 方法
子类Cat extends Animal,然后重复提供了eat的方法,就重写了父类的方法,
就叫做 override
3.重载 overloading
重载在同一类中 提供了相同的方法,就叫重载
总结:重写 override 和重载 overloading 的区别 重写是父类和子类同名方法的不同表达形式
重载是同一类中同名方法的不同表达形式!(不知道这么理解对不对)
4.多态(总算觉得觉得自己懂个皮毛啦) -----(override 和 overloading 就体现在多态中)
先看代码
(类的多态)理解为父类animal提供了eat的方法 CAT DOG MICE也都提供了eat的方法,
狗猫老鼠 重写了 动物 eat的 方法 ,多态就是每个类都有吃的方法,但是每个吃的方法不一样.
emmmm 就像LOL 盖伦用 Q 是大宝剑 而 菊花用Q 是戳你一下 也是多态~
评论