前言
方法重载和方法重写 大家总是容易弄混区分不出来,那么这次分享让我们梳理一下。
一、方法重载是什么?
在同一个类中,方法名相同参数列表不同的多个方法(返回值类型可以相同也可以不同),称之为方法重载,参数列表不同可以为数量不同或类型不同。
1.
- 可变参数
解决问题:当传递的参数个数不确定时,可使用可变参数
语法:
public void 方法名(...,数据类型... 参数名){
需要将可变参数当作数组来使用
}
可变参数必须定义在参数列表的最后
二,方法重写的含义
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
2.子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
三,构造方法
作用:[初始化对象],在创建对象时自动调用构造方法,可以为该对象的属性赋予初始值
调用:创建对象时,自动调用构造方法,如果构造方法没有显形的写在类中,那么系统会给该类创建一个默认的、隐形的、无参的构造方法
语法:
访问权限修饰符【首选public】 类名(参数列表){
方法体
}
四,两者区别(方法重载与方法重写的区别)
方法重载 方法重写
涉及类个数 1个 2个以上
访问权限修饰符 可以不同 子类不能比父类更严格
返回值类型 可以不同 必须相同
方法名 必须相同 必须相同
参数列表 必须不同 必须相同
抛出异常个数 无要求 子类不能比父类多
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了方法重载和方法重写的内容及两者区别。