多态

多态主要分为两个方面:

・方法的多态性:重载与覆写

          |- 重载:同一个方法名称,根据不同的参数类型及个数可以完成不同的功能;

          |- 覆写:同一个方法,根据操作的子类不同,所完成的功能也不同。

・对象的多态性:父子类对象的转换。

          |- 向上转型:子类对象变为父类对象,格式:父类 父类对象 = 子类实例,自动;

          |- 向下转型:父类对象变为子类对象,格式:子类子类对象 = (子类) 父类实例,强制;


向上转型:

public class Test {

         public static void main(String args[]) {

                   A a = new B() ;   //向上转型

                   a.print() ;

         }

}

向下转型:

public class Test {

         public static void main(String args[]) {

                   A a = new B() ;  // 向上转型

                   B b = (B) a;       // 向下转型

                   b.print() ;

         }

}

例: 多态方式计算图形面积

public classGetArea {

       //定义计算圆面积的方法

      public float getAcreage(float r) {

             float area = 3.14f * r * r;

             return area;

       }      

       //定义计算矩形面积的方法

      public float getAcreage(float length,float width) {

             float area = length * width;

             return area;

       }

       //程序主方法

      public static void main(String[] args) {

             GetArea getArea = newGetArea();      //创建本类对象

             float roundArea =getArea.getAcreage(4); 

                                                                                  //获取半径为4的圆的面积

             float rectangle =getArea.getAcreage(5.3f, 6.5f);

                                                                                     //获取指定长与宽的矩形面积

             System.out.println("圆的面积为:"+roundArea);   //输出圆的面积

             System.out.println("矩形的面积为:"+rectangle); //输出矩形的面积

       }

}


你可能感兴趣的:(public,多态性)