hprose / hprose-java

Hprose is a cross-language RPC. This project is Hprose 2.0 for Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

为什么要限定static方法必须用类调用

yockii opened this issue · comments

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;
}

在实例化对象上调用静态方法不是一个好习惯,所以这里加了限制。