慕粉224537116
2018-04-20 22:30
为什么美国人不用继承父类的方法呢?求解
中国人也不继承父类,同样可以使用,估计是方法重写了,而且下面也是用Chinese.p1和American.p2.
小老弟啊,你好歹看完了再考虑这个问题。他后面就开始讲解这个问题,为什么没有继承。
没错他就是忘记加了,都是继承的Person,只不过一个是重写的一个是新建的都可以运行所以没有变化,这如果用Person p2=new American()的多态就出问题了。
因为main方法里面写的是; 美国人 对象名 = new 美国人()
而不是: 人类 对象名 = new 美国人()
就是让同学们平时注意而故意漏写的 前面都说了是继承关系呀
这里就像最开始编程的时候,定义一个方法,在main中定义该类的对象,在使用该对象来调用方法,只是该方法放在同一个包中的不同类中
美国人的say方法也是继承自父类而重写的 视频里说过的 不继承何来重写
就是特么的忘了而已
俩子类都继承自父类 这是前面说的明明白白的
美国人是一个类,在main方法下创建实例化对象就可以调用的。
希望能帮到你
中国人是对父类继承方法的重写(其实中国人在使用该方法之前需要使用父类构造方法super(),super()可省略,前面已经讲到过),美国人是一个新定义的类,重新定义的方法(只不过方法名一样,但和Person类没任何关系)
因为他们就是同一个包下面的啊 ,你直接创建的是American类的对象,然后用对象调用类中的方法,之前没有用多态,所以不需要加上extends关键字,后来用父类引用指向子类对象了,就用到了多态。
Java入门第二季 升级版
530653 学习 · 6091 问题
相似问题