这个在JAVA的多态性中是怎么实现的?希望各位高人赐教!最好有个例子加以说明!不胜感激!!!!

解决方案 »

  1.   

    去看看吧。
    http://www.cs.usfca.edu/~parrt/course/652/lectures/polymorphism.html
      

  2.   

    没人答的,俺来答,谁叫俺蠢呢!JAVA中的多态,说起来广的很啊,说主要的吧:extends 出现的多态
    一父类有多个子类,并且多个子类中都重写了父类中的一个方法,当以父类为引用,子类为对象时,调用这个方法它就是多态的一种实现:package alltest;class AA{
    public void m1(){

    }
    }class BB extends AA{ @Override
    public void m1() {
    System.out.println("I am B.m1()");
    }
    }class CC extends AA{ @Override
    public void m1() {
    System.out.println("I am C.m1()");
    }

    }public class ExtendsTest{
    public static void show(AA a){
    a.m1();
    }

    public static void main(String[] args){
    AA b = new BB();
    AA c = new CC();
    show(b);
    show(c);
    }
    }OutPut:
    I am B.m1()
    I am C.m1()
    调用a.m1(),其实是调用实际对象的的m1()方法,即运行时对象的方法
    2:implements interfacepackage alltest;interface AA{
    public void m1();
    }class BB implements AA{
    public void m1() {
    System.out.println("I am B.m1()");
    }
    }class CC implements AA{
    public void m1() {
    System.out.println("I am C.m1()");
    }

    }public class ExtendsTest{
    public static void show(AA a){
    a.m1();
    }

    public static void main(String[] args){
    AA b = new BB();
    AA c = new CC();
    show(b);
    show(c);
    }
    }OutPut:
    I am B.m1()
    I am C.m1()
    讲到interface又有好多特性,接口的回调,接口在类部内中的应用,接口来实现低耦合and so on... 太多了 自己看书 再看书  写代码 就懂了 。。
      

  3.   

    各位误会了吧,楼主问的是多态是怎么实现的。 vtable!
      

  4.   

    Employee e = new Manager()
     这个意思是说
    Manager是Employee 的子类,当你new的时候new的是子类,接受的是父类普通点说就是经理是雇员的特殊形式,经理拥有雇员的一切权限,多态就是说一个事务有很多形态
      

  5.   

    多态也体现在方法的重载上
    例如:
    public class man {
      eat(){
       System.out.println("eat");
       }
      eat(String str){
       System.out.println("eat str");
       }
    }
    方法eat(String str)对方法eat()进行了重载
    man的引用可以同时调用两个方法  分别执行不同的功能
      

  6.   

    应该是一个“is-a”的问题吧
    Manager  是 Employee 的一员