Java方法覆盖规则
以下是在正确覆盖方法时应考虑的规则-
参数列表应与重写方法的列表完全相同。
返回类型应该与超类中原始重写方法中声明的返回类型相同或为子类型。
访问级别不能比重写方法的访问级别更严格。例如:如果将超类方法声明为public,则子类中的重写方法不能为private或protected。
实例方法只有在子类继承的情况下才能被覆盖。
声明为final的方法不能被覆盖。
声明为static的方法不能被覆盖,但可以重新声明。
如果无法继承方法,则无法覆盖该方法。
与实例的超类相同的包中的子类可以覆盖未声明为私有或最终的任何超类方法。
不同包中的子类只能覆盖声明为public或protected的非最终方法。
无论重写方法是否引发异常,重写方法都可以引发任何uncheck异常。但是,重载方法不应抛出比被重载方法声明的异常新的或更广泛的检查异常。与重写方法相比,重写方法可以引发更窄或更少的异常。
构造函数不能被覆盖。
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短