首页 > 编程知识 正文

java中什么是重载声明,java重载重写的概念区别

时间:2023-05-03 06:08:39 阅读:153036 作者:2838

方法重写规则

参数列表和重写方法的参数列表必须完全相同。 返回类型可以不同于重写方法的返回类型,但父类必须是返回值的派生类。 (java5之前版本的返回值类型相同,java7及更高版本可以不同。 )。 权限不能低于父类的重写方法。 例如,如果父类中的一个方法声明为public,则在子类中重写该方法时无法将其声明为protected。 父类的成员方法只能由其子类重写。 无法重写声明为final的方法。 声明为静态的方法不会被重写,但可以再次声明。 如果子类和父类位于同一包中,则子类可以重写父类中的所有方法(声明为private和final的方法除外)。 如果子类和父类不在同一包中,则子类只能重写父类中声明为public和protected的非final方法。 无论重写的方法是否抛出异常,重写的方法都可以抛出任何非强制异常。 但是,被改写的方法不能抛出新的强制异常,或者可以抛出比被改写的方法声明的范围更广的强制异常,反之亦然。 不能改写构筑方法。 如果无法继承类,则无法重写该类的方法。 过载(Overload )

“过载”(overloading )位于类中,方法名称相同,参数不同。 返回值的类型可以相同也可以不同。

每个重载的方法或构造函数都需要一个唯一的参数类型列表。

最常用的是构造器超载。

重载规则:

重载方法需要修改参数列表(参数的数量或类型不同); 重载方法可以更改返回类型; 重新加载的方法可以更改访问修饰符; 过载的方法可以宣告新的或更宽的检查异常; 方法可以在同一类或子类中重载。 不能进行将返回值类型作为过载函数的区别基准改写和过载的区别点、过载方法改写方法

参数列表必须修改

可以修改返回类型。 无法修改

可以修改例外以减少或删除它,并且不能抛出新的或更宽的例外

可以修改访问权限,但不能进行更严格的限制(可以降低限制)。

方法重载:

重载

概念:在一个类中,功能相似的方法可以用同一方法名称定义。 必须确保方法的参数列表不同,而不管返回类型如何。

参数列表差异:参数个数、参数类型、参数顺序

主要保证上述三个不同中的一个不同即可

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。