问题是这样的:
创建一个不包含任何方法的抽象类,从它那里导出一个类,并添加一个方法。创建一个静态方法,可以接受一个指向基类的引用,将其向下转型到导出类,然后再调用该静态方法。静态方法不是不能实例化吗?既然不能实例化,那也就不能创建题目所要求的静态方法了,因为这个静态方法要接受一个指向基类的引用,这是不能实现的吧。请高手指点一二,我这样想是否正确。

解决方案 »

  1.   


    public class LzClass
    {
      public static void main(String[] args)
      {
        LzBaseClass lbc = new LzExClass();
        LzExClass.lzFunction(lbc);
      }
    }public abstract class LzBaseClass{}public class LzExClass extends LzBaseClass 
    {
      public static void lzFunction(LzBaseClass lbc)
      {
        lbc = (LzExClass)lbc;
      }
    }
    汗,这样算行么.....
      

  2.   

    楼上的朋友,你这样写是正确的。
    不过你在main函数中的那句    LzBaseClass lbc = new LzExClass();
    和下面这句话“创建一个静态方法,可以接受一个指向基类的引用,将其向下转型到导出类”
    是不是有出入啊。
    我总认为这句话有问题。
      

  3.   

    上面的code可以运行呀. 没有问题, 关键是static方法, 否则就不可以.