问题1:
  如果一个派生类转化为它的超类,那么它继承的成员怎么办??这在电脑里是怎么搞的?如果这个派生类下面还有子类,是不是它的子类也跟着它基类一起转化了??这在电脑里是怎么运行的呀??(其实看多态的时候就没搞明白,只不过当一个功能来记,但是又有强制转换对象这个功能所以实在很想搞明白,电脑里是如何运行的。)问题2:
  关于由上向下的强制类型转换的问题:如果我要调用子类中独有的方法,一定都是在实现多态后,再一次由上向下强制转换调用这个功能来访问派生类中独有的方法吗??因为我试了,如果不先实现多态,是无法实现调用的,所以问问清楚.

解决方案 »

  1.   

    问题1:
        如果一个派生类转化为它的超类,那么它继承的成员怎么办??
        那么他在运行时只能表现出超类的行为,它集成的成员不能表现。转换成谁就表现谁的性质。JVM很聪明。问题2: 
      关于由上向下的强制类型转换的问题:如果我要调用子类中独有的方法,一定都是在实现多态后,再一次由上向下强制转换调用这个功能来访问派生类中独有的方法吗??    是的,要不JVM怎么知道这个独有的方法是什么,里面的逻辑是什么?向下转型以后JVM才知道里面的一切呀。都是按照规则办事儿的。
      

  2.   

    1 强制转换到超类,这个检查将在编译期间进行,保证不会调用不属于超类的方法。
      运行期间不管这个,当前是哪个类,就会调用哪个类的方法。2 如果你不能super. 调用,那么你没有办法使用了。  既然是集成,父类也重写了,而你也继承了父类,这是你设计的问题。 你真的想用,你应该直接继承超类。