关于JAVA中多态问题,一直困扰着我,有哪位高手能详细的帮我解说一下。

解决方案 »

  1.   

    2楼说的很通俗,反应到程序上来列,往往是通过接口(interface)来实现的。举个例子。
    public interface Animal{
        public void run(int leg);
    }
    上面的定义了一个动物的接口,定了一个跑的方法,传入一个参数leg(腿)的数量。
    public class Dog implements Animal(){
        private int leg;
        @Override
        public void run(int leg){
            System.out.println("我用4个腿跑");
        }
    }
    定义一个类狗,实现动物类。
    public class Snake implements Animal(){
        private int leg;
        @Override
        public void run(int leg){
            System.out.println("我没有腿,我爬的!");
        }
    }
    定了一个蛇类,也实现动物类。public class Test(){
       public static void main(String args[]){
          Test t = new Test();
          Animal an = new Dog();
          Animal ani = new Snake();
          t.howAnimalsRun(an);
          t.howAnimalsRun(ani);
       }   public void howAnimalsRun(Animal an){
          an.run();
       }
    }可以看上面的那个Test类,他有一个方法,就是看动物如果跑的。我们传进去的都是animal,但是却分别是调用了dog snake的run方法。这就是多态。 我也只能讲到这个地步,自己多看一下,想一下我这个例子吧。希望你明白,多态是一个非常重要的概念,很多设计模式都是利用这点来做的。直接在回贴的地方写代码真累...不满意也希望给点辛劳分哈。。
      

  2.   

    建议你看一本书。JAVA编程思想,那里面解释的挺好的
      

  3.   

    http://devx.javaeye.com/blog/60005
    -
    http://blog.csdn.net/zxg0807/archive/2007/11/15/1886394.aspx
    -
    http://blog.csdn.net/thinkGhoster/archive/2008/04/19/2307001.aspx上面的介绍楼主 可以参考。
      

  4.   

    既然明白了,是不是得给点分撒?我写了这么多给你 还不是在eclipse上写的..多辛苦哈..0.0