一、方法重载——overload
一个类中的一组方法,他们具有相同的方法名字,不同的参数列表。
- 不同的参数列表体现在:参数的个数、参数的类型、参数的顺序三方面。
- 方法重载的作用:方便用户记忆,用户只需记住一个方法名就可执行不同的操作。
1.方法重载的调用时规则
- 首先,通过方法名定位该方法;
- 如果方法名一致,则通过参数的数据类型定位方法;
- 若没有与参数类型一致的方法,则找一个可以转换的参数类型进行转化(自动数据类型转换)。
2.动态参数列表(jdk1.5版本之后)
int...x 数据类型固定,个数动态(可以0—n个)
- 本质上是一个数组,有length属性 有[index]
- 动态参数列表的方法不能与相同意义(一维或二维)的数组类型方法构成重载(因为动态参数列表本质上是数组)
- 区别:动态参数列表的方法可以不用传递参数,而数组类型的方法必须传递参数。
- 动态参数列表在方法的参数中只能存在一份,且必须在方法参数的末尾(因为动态参数列表的参数个数不确定,不能确定需要分配多少内存空间)
二、方法重写——override
————如果之类对继承父类的方法不满意,可以重写父类继承的方法
1.语法规则
- 返回值类型、方法名、参数个数及个数要与父类继承的方法一致;
- 重写后的方法体可以跟父类不一致;
- 子类的返回值类型可以小于等于父类;
(因为子类的返回值可以自动转换成父类更大的数据类型) - 子类的访问权限必须大于等于父类;
2.方法重写的调用时规则
三、方法重载与方法重写的比较