首页 青云排行榜 知识中心 控制台

将下面四个方法分别插入到注释处,可以通过编译的是?(     )

class Over {
    int dolt(long x) {
        return 3;
    }
}
class Under extends Over {
    // 这里插入代码
}
short dolt(int y) {return 4;}
int dolt(long x, long y) {return 4;}
private int dolt(short y) {return 4;}
protected int dolt(long x) {return 4;} // 子类重写父类方法
方法的覆盖和重载具有以下相同点:

都要求方法同名 
都可以用于抽象方法和非抽象方法之间

方法的覆盖和重载具有以下不同点:

方法覆盖要求参数列表(参数签名)必须一致,而方法重载要求参数列表必须不一致。 
方法覆盖要求返回类型必须一致,方法重载对此没有要求。 
方法覆盖只能用于子类覆盖父类的方法,方法重载用于同一个类中的所有方法(包括从父类中继承而来的方法) 
方法覆盖对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何限制。 
父类的一个方法只能被子类覆盖一次,而一个方法可以在所有的类中可以被重载多次。

另外,对于属性(成员变量)而言,是不能重载的,只能覆盖。

总结:覆盖就是函数名,参数列表,返回值等完全一样,函数体不一样。 
重载就是只有函数名一样,参数不完全一样,返回值可以一样也可以不一样。
关于我们
公司简介
联系我们
联系我们
售前咨询: leizhongnan@eval100.com
售后服务: 0755-26415932
商务合作: support@eval100.com
友情链接
金蝶软件
快递100
关注我们
Copyright © 2023-2023 深圳慧题科技有限公司 粤ICP备2023109746号-1 粤公网安备44030002001082