为什么要避免在接口类中使用调用者敏感的方法名称?

问题描述

guideline 9-12 / ACCESS-12

避免在接口类中使用调用者敏感的方法名称

Secure Coding Guidelines for Java SE中指出,在设计接口类时,应避免使用与调用者敏感方法具有相同名称和签名的方法,例如指南9-8中列出的方法9-99-10;尤其是要避免从接口类的方法调用这些。

我不明白为什么这会很危险。例如。对于以下界面:

public interface DangerousInterface<T> {

  default T getInstance() {
    T t = newInstance();
    return t;
  }

  T newInstance();
}

T newInstance() 是在 java.lang.class 中定义的,因此,根据 Secure Coding Guidelines,它不应被定义为方法,并且绝对不能从接口类的方法调用。为什么会这样?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)