【问题标题】:How to change the value of variable inside a class using another class in java?java - 如何使用java中的另一个类更改一个类中变量的值?
【发布时间】:2021-08-08 05:16:35
【问题描述】:

我这里有user loginchange password,现在在更改密码类按钮保存操作事件中我有这样的代码

 if(txtCurrentPassword.getText().equals(LoginFrm.defaultPassword) &&
           txtNewPassword.getText().equals(txtConfirmPassword.getText())){
           // CODE SHOULD BE HERE TO PASS THE NEW PASSWORD VALUES  TO USER LOGIN FORM IF THE CONDITION IS TRUE
           JLabel message = new JLabel("You are successfully changed your password");
           message.setFont(new Font("Arial", Font.PLAIN, 16));
           JOptionPane.showMessageDialog(null, message);
   }

现在你可以在上面的条件中看到有一个名为 defaultPassword 的公共静态变量,这个 变量在用户登录类,这个变量有一个字符串值用户的默认密码。现在如何使用 changePassword 类更改类用户登录中的变量 defaultPassword 的值? 任何建议都会有所帮助或告诉我这个想法是否需要修改?谢谢

【问题讨论】:

    标签: java variables netbeans passwords


    【解决方案1】:

    鉴于 defaultPassword 是 LoginFrm 类中可公开访问的静态字段,您可以直接更新其对新密码字符串的引用。下面的 sn-p 应该可以工作。

    if(txtCurrentPassword.getText().equals(LoginFrm.defaultPassword) &&
           txtNewPassword.getText().equals(txtConfirmPassword.getText())){
           LoginFrm.defaultPassword = txtNewPassword.getText();
           JLabel message = new JLabel("You are successfully changed your password");
           message.setFont(new Font("Arial", Font.PLAIN, 16));
           JOptionPane.showMessageDialog(null, message);
    }
    

    【讨论】:

    • 我已经放了那个代码但是它不起作用:)
    【解决方案2】:

    如果它是一个公共静态变量,你应该可以通过 ClassName.variableName 访问它。但是,这不一定是最佳实践。将该变量私有化并创建获取/设置它的方法可能是明智的。

    【讨论】:

    • 私有字符串 currentPassword = "1234"; public String getNewPassword(){ return currentPassword; } public void setNewPassword(String newPassword){ this.currentPassword = newPassword;这个 getter 和 setter 方法在 LoginFrm 类中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 1970-01-01
    • 2015-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多