日期:2014-05-20  浏览次数:20732 次

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

------解决方案--------------------
public interface Saver <T> {
  void save( <T> t);
}
------解决方案--------------------
jdk1.5开始出现了泛型,用泛型便可解决你的问题,如楼上所示
------解决方案--------------------
嗯,JDK5.0才可以 用范型
------解决方案--------------------
用oop的多态或者泛型,都可以
------解决方案--------------------
饭型
------解决方案--------------------
interface In1{
public void save(Object o);
}

public class ImplementsIn1 implements In1{

public void save(Object o) {
if(o instanceof B) {
// do things
}
}

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