重载:
一个类中可以有多个方法具有相同的名字,但这些方法的参数不同,即或者是参数的个数不同,或者是参数的类型不同。
注:方法的返回类型和参数的名字不参与比较,也就是说,如果两个方法的名字相同,即使类型不同,也必须保证参数不同。
例:
class Area{
float getArea(float r){
return 3.24*r*r;
}
double gerArea(float x,int y){
return x*y;
}
float gerArea(int x,float y){
return x*y;
}
double getArea(float x,float y,float z){
return (x*x+y*y+z*z)*2.0;
}
}
重写:
重写的方法的类型、名字、参数个数、参数的类型和父类的方法完全相同。即仅方法体的内容不同。
例:
class A{
double f(float x,float y){
return x+y;
}
public int g(int x,int y){
return x+y;
}
}
class B extends A{
double f(float x,float y){//重写父类A的方法f
return x*y;
}
}