1.JAVA的接口实现该如何理解?请给个简单的实例说明下接口的实现问题
2.JAVA里有没有类似的重载?如果有也请给个简单的实例
3.如果问题2的答案为TRUE,请给个问题1和问题2结合的实例万分感谢

解决方案 »

  1.   

    //: Shapes.java
    package c11;
    import java.util.*;interface Shape {
      void draw();
    }class Circle implements Shape {
      public void draw() {
        System.out.println("Circle.draw()");
      }
    }class Square implements Shape {
      public void draw() {
        System.out.println("Square.draw()");
      }
    }class Triangle implements Shape {
      public void draw() {
        System.out.println("Triangle.draw()");
      }
    }public class Shapes {
      public static void main(String[] args) {
        Vector s = new Vector();
        s.addElement(new Circle());
        s.addElement(new Square());
        s.addElement(new Triangle());
        Enumeration e = s.elements();
        while(e.hasMoreElements())
          ((Shape)e.nextElement()).draw();
      }
    } ///:~
      

  2.   

    最后那个Class shapes什么意图?请再解释1下,谢谢了
      

  3.   

    Enumeration e = s.elements();
        while(e.hasMoreElements())
          ((Shape)e.nextElement()).draw();这个e.nextElement()为什么可以转换成Shape呢
      

  4.   

    最后那个是先添加三个方法到Vector 中,再显示出来
      

  5.   

    那e.nextElement()为什么可以转换成Shape呢
      

  6.   

    因为Circle,Square,Triangle都是Shape的子类,nextElement()的返回类型是Object,在这里你知道Vector里面放的是什么类型的对象,所以这种转化是安全的
      

  7.   

    虽然这个贴已经结了,还是要指出楼上的错误,这里是Object装化成Shape,不是你说的向上造型,不然也不用写(Shape)了,默认转化就好了