java中的2中多态性:
方法重载(Overload)+方法重写(Override)/覆盖
(1)方法重载(Overload)(一个类中)
目的:用自己的方法
Java5
class Area{
float getArea(float r){
return 3.14frr; //浮点型+f
}
double getArea(float x, float y, float z,){ //参数个数不同
return (xx+yy+zz)2.0;
}
double getArea(float x,int y){ //参数类型不同
return x*y;
}
}
①一个类中可有多个方法具有相同的名字(getArea),但这些②方法的参数个数 或 参数类型必须不同。(是参数类型,不是方法类型,方法类型不同也得保证参数类型不同)
(2)方法重写(Override)/覆盖(子类,继承extends,不属于新增的方法)
目的:子类通过重写可隐藏已继承的实例方法。
(隐藏父类的,用自己的方法;重写方法可操作继承的成员变量和子类新声明的成员变量;
子类想用隐藏的方法,必须使用关键字super
方法重写(Override)/覆盖:①在子类中定义一个方法,该方法的类型和父类的方法的类型or父类的方法的类型的子类型一致;②这个子类方法的名字、参数个数、参数类型和父类的方法完全相同;