java中 怎么通过Object对象参数,获取到在传值时的不同子类里的统一方法query

使用一个方法,传入一个Object对象(因为对象可能是子类user1,也可能是子类user2,有通用方法query在父类),那么我怎么通过object对象调用query方... 使用一个方法,传入一个Object对象(因为对象可能是子类user1,也可能是子类user2,有通用方法query在父类),那么我怎么通过object对象调用query方法? 展开
 我来答
zzhouqianq
推荐于2018-04-20 · 超过14用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:26万
展开全部
1、首先建议你不要传入到Object对象,既然你知道他们有共同的父类(假设名字叫A),那么你就应该传入到A对象。这样你就可以调用A的query方法。
2、如果你一定要用Object对象,那么,你可以
if (xxx instanceof A) {
A a = (A) xxx;

// TODO

}
在上述TODO的位置写上你要执行的操作,其实就是强制类型转换。至于这个条件不满足的时候怎么操作,则是你要考虑的问题了。A表示你的父类,xxx表示你传入的参数名。
DELAY溟
2015-01-28 · TA获得超过498个赞
知道小有建树答主
回答量:319
采纳率:50%
帮助的人:214万
展开全部
传父类,既然继承了,就可以直接调用父类方法的
instensof可以判断是user1还是user2
直接子类重写父类的query方法。然后传入参数就写父类的。这样子不同子类调用query就不一样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅惜玉sh
2015-01-28 · TA获得超过243个赞
知道小有建树答主
回答量:343
采纳率:100%
帮助的人:303万
展开全部
不应该这样传 应该用泛型
你的方法应该改为
public <T> ffff(Class<T> xxx){}

还可以用 父类作为参数 更好 因为你的子类都有query 方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式