java的多态

33 阅读2分钟

多态

什么是多态?

 

明星:吴彦祖,吴亦凡,王俊凯、薛之谦

       宋小宝  王宝强  曾志伟

明星代表一个类    每一个人都代表一个对象

像这样同一个事物可以用不同的方式表示,就叫做多态;****

多态的体现

在Java中,使用类描述一类事物;

要模拟生活中的多态,就需要使用两个类;而且两个类都能指代同一个具体对象;

如生活中经常称狗为动物;

image.png java中多态的体现:使用父类引用指向子类对象; (使用接口类型引用指向实现类对象)

多态的使用前提

之所以可以使用父类型引用指向子类对象,因为子类和父类之间有 “是”的关系,子类描述的事物实际上是父类的一个特例,所以可以使用父类型引用指向子类对象;

而没有继承关系的两个类就不能这样做:

所以java中使用多态的前提:多态中的两个类之间有继承关系****

多态好处

在生活中,一般都会使用多态的形式描述一个事物,如喝啤酒,不说喝啤酒,而是说喝酒,买裤子不说买裤子,而是说买衣服,是因为这样指代的范围更广,方便描述;

用软件的术语来说,就是提高扩展性,降低耦合性;

例如:模拟动物医院中,动物医生检查动物(猫、狗);

image.png

多态的好处:

使用多态可以提高程序的扩展性;

提高代码的复用性,降低程序的冗余性;

Calendar

Calendar类概念

Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。

Calendar为抽象类,由于语言敏感性,Calendar类在创建对象时并非直接创建,而是通过静态方法创建,将语言敏感内容处理好,再返回子类对象,如下: