初学者是如何理解多态

多态对于程序初学者来说是一道不小的槛。与递归类似,不管是书中还是老师授课,都把其讲得神乎其神,让读者觉得一头雾水,莫名其妙。但我认为,多态实际上非常简单,学习的难点在于在接触多态之前,大脑中并没有一个直观的印象。在此,我就给大家实际示例什么是多态。

        我们首先定义一个接口,

[java]  view plain  copy
  1. package org.tny.test;  
  2.   
  3. public interface People {  
  4.    
  5.     public void say();  
  6. }  

接着我们定义两个实现类,

[java]  view plain  copy
  1. package org.tny.test;  
  2.   
  3. public class Lilei implements People {  
  4.   
  5.     @Override  
  6.     public void say() {  
  7.           
  8.         System.out.println("Hi,how are you?");  
  9.   
  10.     }  
  11.   
  12. }  

[java]  view plain  copy
  1. package org.tny.test;  
  2.   
  3. public class Hanmeimei implements People {  
  4.   
  5.     @Override  
  6.     public void say() {  
  7.   
  8.         System.out.println("Fine,Thank you ,and you?");  
  9.   
  10.     }  
  11.   
  12. }  

最后,我们编写测试代码,

[java]  view plain  copy
  1. package org.tny.test;  
  2.   
  3. public class Tester {  
  4.   
  5.     public static void main(String[] args) {  
  6.         People people;  
  7.         people = new Lilei();  
  8.         people.say();  
  9.         people = new Hanmeimei();  
  10.         people.say();  
  11.   
  12.     }  
  13.   
  14. }  

可见,测试代码中都是调用people的say方法。

输出为:

[plain]  view plain  copy
  1. Hi,how are you?  
  2. Fine,Thank you ,and you?  

虽然都是同样的people的say方法,但是输出结果却不一样,这就是多态。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值