java多态理解

定义: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)

 

作用:消除类型之间的耦合关系;

存在的必要条件:

  1. 要有继承
  2. 要有重写
  3. 父类引用指向子类对象

理解:父类对象指向其子类对象即父类对象就是子类对象的上转型;

如下代码是实现接口的多态,还有抽象 重载 重构等;个人感觉主要是上转型的理解.

 

public class TestMyShap {

public static void main(String []args){

   shap S;

   square s=new square(5);

   S=s;

   System.out.println(S.area());

   rectangle  r=new rectangle (5,6,6);

   S=r;

   System.out.println(S.area());

   } 

}

interface shap{

   public double area();

   }//定义接口

class  square implements shap{

   double l;

   public square(double l) {

      super();

      this.l = l;

   }

   @Override

   public double area() {

      // TODO Auto-generated method stub

      double area=l*l;

      return area;

   }

}

class rectangle  implements shap{

   double l;

   double h;

   double  w;

   public rectangle(double l, double w, double h) {

      super();

      this.l = l;

      this.h = h;

      this.w = w;

   }

   @Override

   public double area() {

      // TODO Auto-generated method stub

      double area=l*w;

      return area;

   }

   }

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值