java中的2中多态性:
方法重载(Overload)+方法重写(Override)/覆盖
(1) 方法重载(Overload) (一个类中)
目的:用自己的方法
Java5
class Area{
float getArea(float r){
return 3.14f r r; //浮点型+f
}
double getArea(float x, float y, float z,){ //参数个数不同
return (x x+y y+z z) 2.0;
}
double getArea(float x,int y){ //参数类型不同
}
①一个类中可有多个方法具有相同的名字(getArea),但这些②方法的参数个数 或 参数类型必须不同。(是参数类型,不是方法类型,方法类型不同也得保证参数类型不同)
(2) 方法重写(Override)/覆盖 (子类,继承extends,不属于新增的方法)
目的:子类通过重写可隐藏已继承的实例方法。
(隐藏父类的,用自己的方法;重写方法可操作继承的成员变量和子类新声明的成员变量;
子类想用隐藏的方法,必须使用关键字super
方法重写(Override)/覆盖:①在子类中定义一个方法,该方法的类型和父类的方法的类型or父类的方法的类型的子类型一致;②这个子类方法的名字、参数个数、参数类型和父类的方法完全相同;
作者: 宇宙美少女
来源:慕课网
方法重载(Overload)+方法重写(Override)/覆盖
(1) 方法重载(Overload) (一个类中)
目的:用自己的方法
Java5
class Area{
float getArea(float r){
return 3.14f r r; //浮点型+f
}
double getArea(float x, float y, float z,){ //参数个数不同
return (x x+y y+z z) 2.0;
}
double getArea(float x,int y){ //参数类型不同
return x*y;
(<a href="http://www.dztcsd.com/">资质代办</a>)
}
①一个类中可有多个方法具有相同的名字(getArea),但这些②方法的参数个数 或 参数类型必须不同。(是参数类型,不是方法类型,方法类型不同也得保证参数类型不同)
(2) 方法重写(Override)/覆盖 (子类,继承extends,不属于新增的方法)
目的:子类通过重写可隐藏已继承的实例方法。
(隐藏父类的,用自己的方法;重写方法可操作继承的成员变量和子类新声明的成员变量;
子类想用隐藏的方法,必须使用关键字super
方法重写(Override)/覆盖:①在子类中定义一个方法,该方法的类型和父类的方法的类型or父类的方法的类型的子类型一致;②这个子类方法的名字、参数个数、参数类型和父类的方法完全相同;
作者: 宇宙美少女
来源:慕课网