一个接口的设计

unika_ly12 2007-06-16 11:47:35
我想设计一个接口,其中有一个方法是
public void save(Object o);
这个方法中的参数不一定是哪个类,可能是save(A a),也可能是(B b),不知道可以实现吗,请高手指点一下
...全文
358 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mclinting 2007-06-20
  • 打赏
  • 举报
回复
修改设计吧
如果要写一个工具类,那把save(A a),(B b),放到同一个接口里,
如果要不同的类实现不同的保存方法(就是以后现加个C类而不用修改之前的代码),那把方法改为save(),然后调用o.save();o为a或b,或者是以后增加的c,d,e ...
tommy___2005 2007-06-18
  • 打赏
  • 举报
回复
interface In1{
public void save(Object o);
}

public class ImplementsIn1 implements In1{

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

}
Fantongking 2007-06-18
  • 打赏
  • 举报
回复
饭型
hxgui 2007-06-18
  • 打赏
  • 举报
回复
可以先写一个接口把save的两个方法都定义好了,然后写一个抽象类实现这两个方法,最后你写的类继承这个抽象类,这时候你实现哪个方法都是对的.

hexg@asiainfo.com
9441 2007-06-18
  • 打赏
  • 举报
回复

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

unika_ly12 2007-06-18
  • 打赏
  • 举报
回复
我知道没有重写,我并不是要实现public void save(Object o)的方法,而是要实现public void save(里面类型不定)的方法。
lionest 2007-06-16
  • 打赏
  • 举报
回复
Interface Save {
void save(Object ob);
}
应该没问题啊 子类实现的时候可以用其他的参数啊
joejoe1991 2007-06-16
  • 打赏
  • 举报
回复
interface Inter{
public void save(Object ob);
}

public class Test implements Inter{

public void save(Object a) //重写接口里的方法。 你没有重写。
{

}
}
unika_ly12 2007-06-16
  • 打赏
  • 举报
回复
很抱歉,我用的是jdk1.42,不要说都啥时候了还用这么老的jdk,我用的是IBM的产品,它就用这个,我也没办法,谢谢各位的支持。
另外,
interface Inter {
public void save(Object ob);
}
这样是不行的,
public class A implements Inter {
public void save(B b) {//B是某个类
}
}
会报错。
e3002 2007-06-16
  • 打赏
  • 举报
回复
同意楼上的
suncheng_hong 2007-06-16
  • 打赏
  • 举报
回复
interface Save {
void save(Object ob);
}
没有问题啊
adsds 2007-06-16
  • 打赏
  • 举报
回复
用oop的多态或者泛型,都可以
chg2008 2007-06-16
  • 打赏
  • 举报
回复
嗯,JDK5.0才可以 用范型
tomison 2007-06-16
  • 打赏
  • 举报
回复
jdk1.5开始出现了泛型,用泛型便可解决你的问题,如楼上所示
weihthchk 2007-06-16
  • 打赏
  • 举报
回复
public interface Saver<T> {
  void save(<T> t);
}

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧