Vector的get()方法取出的是Object对象,要将它转换为原来的对象当然要进行转化啊!

解决方案 »

  1.   

    v.get()方法返回的是一个Object类型的对象,是所有对象的父类,不可以将父类的对象直接赋值给子类的对象,只能进行类型转换
      

  2.   

    那么v.add(p)的时候是做了Point到Object类型的隐性转换的吗?
      

  3.   

    Point一定是一个Object,所以隐性的转换是安全的,但是Object缺不一定就是Point,所以要显式转换,确保你自己知道取出来的式Point。
      

  4.   

    同上,因为v.get()返回的是一个Object,
    Object是一个总根,当然不能赋值给子类..
    例如:Point p = new Object();//不合法的
    但: Object o = new Point();//可是合法的哦
    这就是面向对象编程的思想,多看看理论吧...