为什么我的登录方法声明为静态?

时间:2011-01-11 11:48:30

标签: java

在我调试时,我发现登录方法是一种静态方法?

  1. 它能给予更多安全感吗? 方法
  2. 一般来说是什么类型的方法 应该是静态的吗?我怎么样 决定那个?

    static public Account logIn(String email,String password){

3 个答案:

答案 0 :(得分:1)

我无法看到使方法静态的任何安全性好处。

理想情况下,服务应该通过接口公开,以便可以轻松地交换不同的实现;这也支持单元测试。声明为static的方法通常是不需要状态的辅助方法。

也许在您的情况下,此服务作为静态公开,因此可以在整个代码库中轻松引用它,而无需查找(或接入)服务实例。

答案 1 :(得分:1)

static不会以任何重要方式影响“安全”。

事实上,“安全”在这种情况下可能意味着大量不同的事情(我认为这些都不受方法静态影响)。

当一个方法不需要访问其类的任何非静态成员时,它就可以变为静态。当的操作应该独立于其类的任何特定对象时, 应该

答案 2 :(得分:1)

您的问题的答案可以在任何基本的面向对象编程书中找到。基本的OO概念非常适合在Java中使用,因为java是一种OO语言。

通常,身份验证需要与其他对象协作才能实现某些目标......它需要访问用户存储,可能需要访问加密或散列服务。

如果你的方法没有状态,只使用传入的对象,并返回所有输出作为方法的输出,那么它可能是一个很好的候选者来制作静态,但这对安全性没有任何影响。