你说的恰好反了.
应该是
子类对象可以造型转换成为父类对象
所以 所有的对象都可以被上溯造型成object ,这已正是你为什么可以是常用toString()的原因.

解决方案 »

  1.   

    啊?是这样?
    造型转换不是为了使用子类所有的方法(把超类专成子类)吗?
    书上是这样讲的啊。
    能使用toString()方法的原因不是因为继承吗?
    如果是把子类转换成超类有什么原因吗?
    不是因为多态性,超类的对象变量也可以指向子类的对象吗?并且可以正确的调用方法。我是菜鸟,,说错了别怪啊。请指教。
      

  2.   

    我来说,假设 A is B's superclass
    可以有一下声明:
    A my = new A();
    A my = new B();
    但不能有 B my2 = new A();
    因为子类一般具有比父类更多的信息,即父类需要的子类都有
    所以子类可以不加任何显式转换地到父类,
    而基于同样理由,反过来则不成立所以你定义成Object obj = new Object();
    你就不能这样: (MyClass)obj;而,Object obj = new MyClass(); 情况下,
    (MyClass)obj就是允许的。
      

  3.   

    toString() is usually been overrided, so that we can provide more useful info in this method either for debugging or displaying purpose.