Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2244069
  • 博文数量: 556
  • 博客积分: 11457
  • 博客等级: 上将
  • 技术积分: 5973
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-24 22:33
文章分类

全部博文(556)

文章存档

2013年(22)

2012年(74)

2011年(460)

分类: Java

2011-07-10 13:58:26

【问题】Java中实现多态的机制是什么?

答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。

     重写Overriding是父类与子类之间多态性的一种表现。

     重载Overloading是一个类中多态性的一种表现。

Java类多态性的例子:

张孝祥java就业教程源代码

  1. interface PCI//某标准化组织
  2. {
  3. void start();
  4. void stop();
  5. void NameCard();
  6. }
  7. class NetWorkCard implements PCI//网卡生产商
  8. {
  9. public void NameCard()
  10. {
  11.    System.out.println("-----网卡----");
  12. }
  13. public void start()
  14. {
  15.    System.out.println("send...");
  16. }
  17. public void stop()
  18. {
  19.    System.out.println("stop...");
  20. }
  21. }

  22. class SoundCard implements PCI//声卡生产商
  23. {
  24. public void NameCard()
  25. {
  26.    System.out.println("-----声卡------");
  27. }
  28. public void start()
  29. {
  30.    System.out.println("du..du");
  31. }
  32. public void stop()
  33. {
  34.    System.out.println("sound stop");
  35. }
  36. }

  37. class MainBoard//主板生产商
  38. {
  39. public void usePCICard(PCI p)
  40. {
  41.    p.NameCard();
  42.    p.start();
  43.    p.stop();
  44. }
  45. }
  46. class Assembler//装机员
  47. {
  48. public static void main(String [] args)
  49. {
  50.    MainBoard mb=new MainBoard();
  51.    NetWorkCard nc=new NetWorkCard();
  52.    SoundCard sc=new SoundCard();
  53.    mb.usePCICard(nc);
  54.    mb.usePCICard(sc);
  55.    mb.usePCICard(new PCI()//匿名内置类
  56.    {
  57.     public void NameCard()
  58.     {
  59.      System.out.println("------测试----");
  60.     }
  61.     public void start()
  62.     {
  63.      System.out.println("test start");
  64.     }
  65.     public void stop()
  66.     {
  67.      System.out.println("test stop");
  68.     }
  69.    }
  70.    );
  71. }
  72. }

参考资料:

http://hi.baidu.com/full68/blog/item/7375216327c902650d33fa14.html

阅读(1615) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

tianbianfei2011-07-12 16:15:11

刚才java转android,请教高手一个问题:大家快来参与讨论吧:http://doumiw.com/market/community/t!showTopic.do?topicId=24