在Java中存在两种多态:重载与重写。现在只了解一下什么是重载,后面再说重写。
多态:
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:
多态性是对象多种表现形式的体现。
方法重载的语法规则
方法重载的意思是一个类中的两个或者多个方法具有相同的名字,但这些方法的参数类型或者个数不同。与参数的访问修饰符与参数及返回值类型无关!简单而言,只要方法名相同,看形参的类型与个数是否一样,一样不是重载。例如:
class Operation{
double show(int x,int y){
return x+y;
}
double show(double x,int y){
return x+y;
}
double show(int x,double y){
return x+y;
}
}
public class Add {
public static void main(String[] args) {
Operation operation=new Operation();
operation.show(10,10);
operation.show(10.0,10);
operation.show(10,10.0);
}
}
如上所示:就是方法的重载。
重载过程中一定要避免重载出现歧义。就如上图的代码为例。该方法的重载中未出现double x和double y,如果调用 operation.show(10.0,10.0);则会报错。因为找不到执行方法。