[align=center][/align]
前面已经讲了类的封装性,继承性,今天就讲一讲类的多态性。
类的多态性靠方法的重写和
重载来实现。
一.重载:在同一个类中,方法名相同,参数不同,方法体也不同,在调用这个方法时可以根据参数的类型和个数执行相应的方法体,从而实现一个函数名多种功能即多态性的实现。
二.重写:重写发生在父类和子类中,子类继承了父类的方法,如果子类中的方法定义和父类中的某个方法定义完全一样,就是对父类方法的重写。
public
class Getmianji {
final float PI =3.14f;
//求圆的面积
public float getArea(float r){
float area=PI*r*r;
return area;
}
//求矩形的面积
public float getArea(float l,float w){
float area=l*w;
return area;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Getmianji getmianji=new Getmianji();
float r=4;
float circleArea=getmianji.getArea(r);
System.out.println("半径为4的圆的面积是:\t"+circleArea);
float l=6.5f;
float w=5.3f;
float rectArea=getmianji.getArea(l,w);
System.out.println("矩形的面积是:\t"+rectArea);
}
}
上面getArea方法就使用了重载
public class Fruit {
public String color ="";
public void plant(){
System.out.println("果树正在种植ing");
}
public static void main(String[] args){
Fruit fruit=new Fruit()
apple.plant();
System.out.println("color:"+apple.color);
}
}
public class Apple extends Fruit{
public String color ="red";
public void plant(){
System.out.println("苹果树正在种植ing");
}
}
上面plant方法就实现了重写
讲到这聪明的你应该知道了什么是类的多态性吧,在应用中好好
理解重载和重写的区别。记住重载发生在一个类中,重写发生在父类和子类之间。
他们的作用都是使一个函数名具有多重含义(作用)。