1.方法的重载(overload)
概念:在Java中,同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可(如Arrays类中存在多个binarySearch方法,它们的参数各不相同)。不是按照形参名分。
特点:与返回值类型无关,只看参数列表,且参数列表必须不同。(参数个数或参数类型)。调用时,根据方法参数列表的不同来区分。
示例:
int add(int x,int y) { return x+y; } int add(int x,int y,int z) { return x+y+z; } double add(double x,double y) { return x+y; }
2.可变形参的方法
JavaSE 5.0中提供了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参
格式:
数类型 ... 变量名
示例:
package com.xlx.java; public class HelloWorld { public static void main(String[] args) { Person p1=new Person(); // 创建实例 p1.show("a","123","xxx"); // 调用show方法(所有实参需要类型相同) } } class Person{ public void show(String ... strs) { System.out.println(strs); // 输出的是一个地址值 } }
注意:
- 当调用可变个数形参的方法时,传入的参数个数可以是0、1、2。。。
- 可变个数形参的方法与奔雷中方法名相同,形参不同的方法之间构成重载
- 可变个数形参的方法与本类中方法名相同,形参类型也相同的数组之间不构成重载。
- 可以使用遍历数组的方法获取所有成员
- 可变个数形参在方法的形参中,必须声明在末尾
3.方法参数的值传递机制
Java里方法的参数传递方式只有一种:值传递。即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响
- 形参是基本数据类型,将实参基本数据类型变量的“数据值”传递给形参
- 形参是引用数据类型,将实参引用数据类型变量的“地址值“传递给形参(方法内无法修改形参的值)
4.递归方法
一个方法体内调用它自身