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;

   }

   }

你可能感兴趣的:(Java基础)