sobrecarga de métodos overload--
La sobrecarga de métodos
1. Concepto: El método del mismo nombre tienen diferentes métodos un conjunto de lista de parámetros tal un conjunto de métodos de una clase
-
Donde diferentes parámetros incorporados en?
-
tipos secuenciales, el número de parámetros de un parámetro
2. Papel: Con el fin de facilitar la memoria y permite a los usuarios llamar sólo tiene que grabar un nombre para llevar a cabo diferentes acciones
3. sería sobrecarga Diseño
-
A través del objeto. El método se puede llamar el nombre del método de apellidos métodos de orientación directamente
-
Si el método método consistente para localizar la lista de parámetros del tipo de lugar
-
Si no, se puede encontrar un parámetros de tipo consistente con el tipo de proceso de conversión de los parámetros de transmisión puede realizarse (automática); Char int y, por ejemplo,
4. La aparición de un nuevo método después JDK1. Version
-
int ... x escriba número fijo de lista de parámetros dinámicos pueden ser dinámicamente 0 - n lata
-
x es esencialmente una matriz con una longitud atributos [índice]
-
lista de parámetros dinámicos no constituye el tipo de matriz sobrecargado métodos esencialmente el mismo que
-
lista de parámetros dinámica no puede pasar los parámetros correspondientes a 0 matriz debe pasar parámetros
-
lista de parámetros dinámica existe sólo en los parámetros del método y el final de un niño debe ser colocado en el parámetro del método
public class Overload
public void teat(int... x){//x本质上是数组 int[] x={1,2,3,4,5,6}
System.out.println("执行了tese方法带动态列表");
for (int i =0;i<x.length;i++){
System.out.print(" "+x[i]);
}
}
public void teat(){
System.out.println("执行了tese方法带没有携带参数");
}
public void teat(boolean b){
System.out.println("执行了tese方法带boolean参数"+b);
}
public void teat(int i){
System.out.println("执行了tese方法带int参数"+i);
}
public void teat(String s){
System.out.println("执行了tese方法带int参数"+s);
}
public void teat(char c){
System.out.println("执行了tese方法带int参数"+c);
}
public static void main(String[] args) {
//1.创建对象
Overload ol=new Overload();
ol.teat();
ol.teat(true);
ol.teat(10);
ol.teat(1,2,3,4,5,6);
//通过对象.方法名字 调用方法 可以直接通过方法的名字定位方法
//如果方法名字一致 通过放的参数列表类型 来定位方法
//如果没有与传递参数类型一致的方法,可以找一个参数类型可进行转化(自动);例如char 和 int
}
}
运行结果:
执行了tese方法带没有携带参数
执行了tese方法带boolean参数true
执行了tese方法带int参数10
执行了tese方法带动态列表
1 2 3 4 5 6
Process finished with exit code 0