java中 怎么通过Object对象参数,获取到在传值时的不同子类里的统一方法query
使用一个方法,传入一个Object对象(因为对象可能是子类user1,也可能是子类user2,有通用方法query在父类),那么我怎么通过object对象调用query方...
使用一个方法,传入一个Object对象(因为对象可能是子类user1,也可能是子类user2,有通用方法query在父类),那么我怎么通过object对象调用query方法?
展开
展开全部
1、首先建议你不要传入到Object对象,既然你知道他们有共同的父类(假设名字叫A),那么你就应该传入到A对象。这样你就可以调用A的query方法。
2、如果你一定要用Object对象,那么,你可以
if (xxx instanceof A) {
A a = (A) xxx;
// TODO
}
在上述TODO的位置写上你要执行的操作,其实就是强制类型转换。至于这个条件不满足的时候怎么操作,则是你要考虑的问题了。A表示你的父类,xxx表示你传入的参数名。
2、如果你一定要用Object对象,那么,你可以
if (xxx instanceof A) {
A a = (A) xxx;
// TODO
}
在上述TODO的位置写上你要执行的操作,其实就是强制类型转换。至于这个条件不满足的时候怎么操作,则是你要考虑的问题了。A表示你的父类,xxx表示你传入的参数名。
展开全部
传父类,既然继承了,就可以直接调用父类方法的
instensof可以判断是user1还是user2
直接子类重写父类的query方法。然后传入参数就写父类的。这样子不同子类调用query就不一样了
instensof可以判断是user1还是user2
直接子类重写父类的query方法。然后传入参数就写父类的。这样子不同子类调用query就不一样了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不应该这样传 应该用泛型
你的方法应该改为
public <T> ffff(Class<T> xxx){}
还可以用 父类作为参数 更好 因为你的子类都有query 方法
你的方法应该改为
public <T> ffff(Class<T> xxx){}
还可以用 父类作为参数 更好 因为你的子类都有query 方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询