繁体   English   中英

如何使用 java 中的另一个 class 更改 class 中的变量值?

[英]How to change the value of variable inside a class using another class in java?

我在这里有用户登录更改密码,现在在更改密码 class 按钮保存操作事件我有这样的代码

 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 的公共 static 变量,该变量位于用户登录 class 时,该变量有一个字符串值,即用户的默认密码。 现在如何使用 changePassword class 更改 class 用户登录中的变量 defaultPassword 的值? 任何建议都会有所帮助或告诉我这个想法是否有需要修改的地方?谢谢

鉴于 defaultPassword 是 LoginFrm class 中可公开访问的 static 字段,您可以直接更新其对新密码字符串的引用。 下面的代码片段应该可以工作。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM