我想设计一个接口,其中有一个方法是
public void save(Object o);
这个方法中的参数不一定是哪个类,可能是save(A a),也可能是(B b),不知道可以实现吗,请高手指点一下

解决方案 »

  1.   

    Interface Save {
    void save(Object ob);
    }
    应该没问题啊 子类实现的时候可以用其他的参数啊
      

  2.   

    public interface Saver<T> {
      void save(<T> t);
    }
      

  3.   

    jdk1.5开始出现了泛型,用泛型便可解决你的问题,如楼上所示
      

  4.   

    用oop的多态或者泛型,都可以
      

  5.   

    interface Save {
    void save(Object ob);
    }
    没有问题啊
      

  6.   

    很抱歉,我用的是jdk1.42,不要说都啥时候了还用这么老的jdk,我用的是IBM的产品,它就用这个,我也没办法,谢谢各位的支持。
    另外,
    interface Inter {
        public void save(Object ob);
    }
    这样是不行的,
    public class A implements Inter {
        public void save(B b) {//B是某个类
        }
    }
    会报错。
      

  7.   

    interface Inter{
    public void save(Object ob);
    }public class Test implements Inter{    public void save(Object a) //重写接口里的方法。 你没有重写。
        {    }
    }
      

  8.   

    我知道没有重写,我并不是要实现public void save(Object o)的方法,而是要实现public void save(里面类型不定)的方法。
      

  9.   


    public void save(Object ob);
    改成
    public void save(interface ob)
      

  10.   

    可以先写一个接口把save的两个方法都定义好了,然后写一个抽象类实现这两个方法,最后你写的类继承这个抽象类,这时候你实现哪个方法都是对的[email protected]
      

  11.   

    interface In1{
    public void save(Object o);
    }public class ImplementsIn1 implements In1{ public void save(Object o) {
    if(o instanceof B) {
    // do things
    }
    }

    }
      

  12.   

    修改设计吧
    如果要写一个工具类,那把save(A a),(B b),放到同一个接口里,
    如果要不同的类实现不同的保存方法(就是以后现加个C类而不用修改之前的代码),那把方法改为save(),然后调用o.save();o为a或b,或者是以后增加的c,d,e ...