java子类覆盖父类方法的问题,在线等
B是A的子类,B中有方法bb()
现A中也有方法bb(int a) 只是参数不同,
问:
1 这属于 子类覆盖父类方法 吗,为什么
2 子类覆盖父类方法是不是方法名和参数都要相同?
thanks
------解决方案--------------------1、不属于重写(覆盖),属于重载。
2、是的。
------解决方案-------------------- 重载和重写都可以看做java多态性的体现,方法重载是指方法名和方法的返回类型都相同,但方法参数不一样;重写的方法名.返回类型,参数类型和参数个数都要求和父类中的一样.这是重载和重写形式上的区别
------解决方案--------------------A中public int bb(int i){ .... } B中public int bb(int i){ .... }
这个是方法的重写 不同 的只是{ .... } 中的方法体
A中public int bb(int i){ .... } B中public int bb(int i, int j){ .... }
这个是方法的重载 不同的可以是参数和方法体
------解决方案--------------------
------解决方案--------------------是java中多态的体现。
java是在程序执行时将方法和方法主体关联起来,成为后期绑定。
也就是说,在实例化B的时候,会自动找到bb()方法。而不会去找bb(int)
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------