Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java中的另一个类更改类内变量的值?_Java_Variables_Netbeans_Passwords - Fatal编程技术网

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

如何使用java中的另一个类更改类内变量的值?,java,variables,netbeans,passwords,Java,Variables,Netbeans,Passwords,我在这里,现在在更改密码类按钮保存操作事件中,我有这样的代码 if(txtCurrentPassword.getText().equals(LoginFrm.defaultPassword) && txtNewPassword.getText().equals(txtConfirmPassword.getText())){ // CODE SHOULD BE HERE TO PASS THE NEW PASSWORD VALUES

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

 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的值?
任何建议都会对我有所帮助,或者告诉我这个想法中是否有需要修改的地方?谢谢

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

鉴于defaultPassword是LoginForm类中可公开访问的静态字段,您可以直接将其引用更新为新密码字符串。下面的代码片段应该可以工作

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

我已经输入了那个代码,但它不起作用:)私有字符串currentPassword=“1234”;public String getNewPassword(){return currentPassword;}public void setNewPassword(String newPassword){this.currentPassword=newPassword;}此getter和setter方法位于LoginForm类内