为什么要限定static方法必须用类调用
yockii opened this issue · comments
Yockii Hsu commented
HproseMethods,Line167
((obj == null) == Modifier.isStatic(method.getModifiers()))
这里的判断,为什么要限定呢
而且这里添加方法的时候,如果没有找到,尽可能抛出异常或者有返回状态比较好,这个方法建议修改一下:
private boolean addMethod(String methodName, Object obj, Class<?> type, String aliasName, HproseResultMode mode, boolean simple) {
Method[] methods = type.getMethods();
for (Method method : methods) {
if (methodName.equals(method.getName()) &&
((obj != null) || Modifier.isStatic(method.getModifiers()))) {
addMethod(aliasName, new HproseMethod(method, obj, mode, simple));
return true;
}
}
return false;
}
不帅任你踹 commented
在实例化对象上调用静态方法不是一个好习惯,所以这里加了限制。