多态

多态是OOP的又一重要特性,顺便说下,OOP的重要特性包括抽象、封装、继承和多态。方法重载和方法重写是多态两种体现。方法的重载是指在同一类中方法名称相同而参数列表不相同;方法的重写是指在子类中对父类的方法进行重写,要求方法声明完全一致,仅是方法体的差异。方法重载实例如下代码:

/** *方法重载实例 */ public class Area { /** *方法描述:计算圆的面积 *输入参数:float r *返回类型:float */ public float getArea(float r) { return PI * r * r; } /** *方法描述:计算矩形的面积 *输入参数:float length,float width *返回类型:float */ public float getArea(float length,float width) { return (length * width); }

private final float PI = 3.14f;

/** *主方法 *输入参数: *返回类型: */ public static void main(String[] args) { Area area = new Area(); float roundArea = area.getArea(4.0f); float rectangleArea= area.getArea(2.0f,4.5f); System.out.println("圆的面积为:" + roundArea); System.out.println("矩形的面积为:" + rectangleArea); } }

运行结果如下所示:

方法重写实例如下代码:

/**
 *方法重写实例
 */

class Animal {
 /**
  *方法描述:动物类行为,爬的方法
  *输入参数:
  *返回类型:
  */
 public void move() {
  System.out.println("动物的爬行方法");
 }
}

class Bird extends Animal {
 /**
  *方法描述:鸟类行为,空中飞翔
  *输入参数:
  *返回类型:
  */
 public void move() {
  System.out.println("鸟儿在空中飞翔");
 }
}

class Fish extends Animal {
 /**
  *方法描述:鱼类行为,水里游玩
  *输入参数:
  *返回类型:
  */
 public void move() {
  System.out.println("鱼儿在水里游玩");
 }
}

public class Zoo {
 /**
  *方法描述:动物类行为,放生方式
  *输入参数:
  *返回类型:
  */
 public void free(Animal animal) {
  animal.move();
 }

 /**
  *方法描述:主方法
  *输入参数:
  *返回类型:
  */
 public static void main(String[] args) {
  Zoo zoo = new Zoo();
  
  Bird bird = new Bird();
  Fish fish = new Fish();

  zoo.free(bird);
  zoo.free(fish);
 }
}

运行结果如下所示:


总结:

1.多态是指程序中同一操作在不同环境下具有不同的表现形式。例如,动物类中爬行操作,对于鸟儿来说,意味着要在天空飞翔,而对于鱼儿来说,意味着要在水里游玩。

2.方法重载和方法重写是多态的具体体现。

3.多态机制使得程序更加灵活和富有扩展性。

参考资料:

【1】明日科技 李钟尉 陈丹丹 编著.Java 编程宝典.北京:人民邮电出版社,2010


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值