srkp.net
当前位置:首页 >> jAvA中,在子类中是否允许有一个方法和父类的方法... >>

jAvA中,在子类中是否允许有一个方法和父类的方法...

在Java SE 5.0之前的版本,子类覆盖父类的方法时,返回类型必须一样。 之后的版本允许子类的覆盖方法的返回类型是原返回类型的子类型。

答案是不允许,因为假设你说的情况允许,你的方法名相同且参数列表也相同,但是就返回值类型不同,那么如果其他对象在调用这个名称的方法时就会不知道调用哪一个方法了,因此,java中是不允许这种情况存在的,最多就是方法的重载或者重写

在Java SE 5.0之前的版本,子类覆盖父类的方法时,返回类型必须一样。 之后的版本允许子类的覆盖方法的返回类型是原返回类型的子类型。 关于重写,遵循以下的规则: (1)重写方法必须和被重写方法具有相同的参数列表,返回类型必须和被重写方法...

class A{ public void print(){ System.out.println("I am class A."); } public void print(String name){ System.out.println("Hello "+name+", I am class A."); }} class Aa extends A{ public void printInfo(){ super.print("SubClass"); } }

java接口和父类中有相同的方法,如果子类不想重写,那么可以不重写,那么实现接口的方法,就相当于父类的方法继承下来。 例子:父类 public class Excep { public void chuchu(){ System.out.println("父类"); } } 接口 public interface Jkou { ...

子类可以调用父类的任何非私有方法,而用到super时可能子类中对父类的datacreat方法进行重写用super表明调用的是父类里的方法

当有相同的属性或者方法是this子类表示调用自己的属性或者方法,super调用父类的属性或者方法。当子类调用的属性方法在子类中不存在时,那么this和super都是调用父类的属性或者方法

覆盖的话,当然要参数类型和个数 要一样,否则,就不是重载了么? 叫都叫覆盖哦。 原因的话,因为他就叫覆盖。否则,就成重载了。 重载是一种对象调用同名方法,根据参数类型和个数不同 ,实现的 多态。 而 覆盖是 ,子类与父类中,两个方法一样...

父类中方法的变量作用域只在当前方法体重有效,在子类中是无法调用的; 但是父类的类变量是可以在子类中直接进行调用的。

1.把父类的这个方法改成private 2.如果是需要一个子类可以其它子类不可以的话,那你就要考虑这样的继承是否合理了。 3.如果觉得合理并且有这钟需要的话,方法一:在父类前面不要加任何修饰符。然后子类和调用类移到 其它包里 。方法二:空方法(...

网站首页 | 网站地图
All rights reserved Powered by www.srkp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com