多态与重载

       继承、重载和多态是可以使你开发的代码易于复用的,易于修改的方法。下面简单介绍一下重载和多态的概念以及用法。

     重载是用于在给定了参数列表和一组候选函数成员的情况下,选择一个最佳函数成员来实施调用。具体点说,就是在所定义的类中,有多个名称相同,但是参数的个数或类型不同的方法,当程序在运行时,可以自动进行匹配。例如下面的程序就是一个重载的示例,我们在其中定义了三个重名,但是参数类型和返回值不同的方法:

     public class calculate {
    public int addNums(int a, int b) {
        return a + b;
    }

    public double addNums(double a, double b) {
        return a + b;
    }

    public float addNums(float a, float b) {
        return a + b;
    }
}

     下面是重载的几个特性:

      1.返回的类型可以不同,例子中的三个重名方法返回类型就各不相同。

      2.不能只改变返回类型。如果只有返回类型不同,但是参数一样,是不允许的,编译器会报错。

      3.可以更改存取权限。



     多态性允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。作用是:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

      例如(这里仅是为了说明多态,所以类中没有定义的内容~~):

          Animal基类:

     public class Animal{

     }

     Dog类:
     public class Dog extends Animal{
      }

     Cat类:
     public class Cat extends Animal{ 
     }

     测试类:
     public class Test{
        public static void main(String args[])
        {
           Animal[] animals=new Animal[5];
           animals[0]=new Dog();
           animals[1]=new Cat();
       }
}

      在Test类中,我们首先声明了一个Animal类型的数组animals,然后使animals[0]指向Dog对象,animals[1]指向Cat对象,这就是多态的表现。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值