Em ce=new CEm();
Em 是抽象类,CEm是它的子类
CEm中定义了自己的方法
我现在要用CEm类中的方法,怎么用??

解决方案 »

  1.   

    CEm cem =(CEm)ce;
    cem.xxx()
      

  2.   

    ((CEm)ce),对ce进行前面的强制类型转换。
      

  3.   


    package org.leelin.demo;
    abstract class A{}
    class B extends A{
    public void method(){
    System.out.println("method() in B invoked");
    }
    }
    public class Test02 { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    A a=new B();
    ((B)a).method();
    }}
      

  4.   

    正解,正如你前面(Em ce=new CEm(); )实现的是向上转型,但是你要是想要利用子类的方法只有向下转型,即:强制类型转换。
      

  5.   

    一般都是向下转型的比较多。子类的方法通常比父类多。而且子类如果想用父类的方法也很方便,可以SUPER.方法