簡體   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