我有一个基类 Statement
,其他几个类都继承自它,命名为 IfStatement
、WhereStatement
等...在 if
语句中执行测试以确定实例派生自哪一种 Statement
类的最佳方法?
最佳答案
if(object instanceof WhereStatement) {
WhereStatement where = (WhereStatement) object;
doSomething(where);
}
请注意,这样的代码通常意味着您的基类缺少多态方法。即 doSomething()
应该是 Statement
的方法,可能是抽象的,被子类覆盖。
关于java - Java有 "is kind of class"的测试方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/928531/