简单聊聊多态(一)

一:什么是多态?
举个例子:我是一个人,同时我还是个学生,这就是多态,就一个事物有多种状态
二:多态有啥用?
直接贴代码:(打印中国人和日本人用多态实现)
第一步:可以提取一个父类,提取一个父类子类都能实现的方法,如果父类方法不知道子类如何实现,那父类可以写成抽象类,这里可以提取一个父类人出来,sayHello()方法明显子类中国人和日本人都能实现,没有逻辑错误,显然用不到抽象类
简单聊聊多态(一)
第二步:子类继承父类,这里需要注意,new关键字首先会干三件事:
第一:在堆中开辟一块空间
第二: 创建对象
第三:调用对应的构造函数
子类默认继承父类的无参构造,每一次子类new对象时,都会优先调用父类构造函数,本题中,由于父类的字段是私有的,子类的有参构造函数不能直接拿到父类的字段,只能调用super(name)方法,间接调用父类的构造函数,目的就是main函数的值存放到字段中,然后我们就能拿到字段的值了
简单聊聊多态(一)
简单聊聊多态(一)
第三步:简单聊聊多态(一)
好处很明显:提高了代码的拓展性