使用setter和getterjava从其他类访问变量
这是我的项目的一个非常简单的例子,它的规模要大得多 任务:使用setter和getterjava从其他类访问变量,java,methods,get,set,getter-setter,Java,Methods,Get,Set,Getter Setter,这是我的项目的一个非常简单的例子,它的规模要大得多 任务: 密码将在setpassword方法中设置 getpassword方法将返回密码 在sendmail类中调用密码,以便通过电子邮件发送给用户以使用新凭据登录 但是,当我运行整个代码时,除了sendmail类不会从users类中的getpassword方法访问密码之外,其他一切都正常工作 我将我的代码放在一个简单的版本中: 用户类别>>>>>> public class users { private String passwor
- 密码将在setpassword方法中设置
- getpassword方法将返回密码
- 在sendmail类中调用密码,以便通过电子邮件发送给用户以使用新凭据登录
public class users {
private String password;
public users (){}
// GETTING PASSWORD
public String getpassword(){
return password;
}
// SETTING PASSWORD
public void setapassword(String password){
this.password=password;
}
}
注册类别>>>>>>>
public class signup {
public void signsup(){
users user1 =new users();
user1.setapassword("player");
sendmail mail1 =new sendmail();
mail1.Sendsmail();
}
}
sendmail类>>>
public class sendmail {
public void Sendsmail(){
users user1 =new users(); // object
user1.getpassword(); //getting password
System.out.println(user1.getpassword()); // If print here I get null
}
}
主要注册类别>>>
public class SignupMain {
public static void main(String[] args) {
signup signup1= new signup();
signup1.signsup();
}
}
注册类和sendmail类中的
user1
对象不同。当然,它们的变量命名方式相同,但它们引用不同的对象。要从用户处访问密码,您必须将用户传递到sendmail类,例如:
Signup.java
public class signup
{
public void settingPassowrd()
{
users user1 = new users();
user1.setapassword( "player" );
sendmail mail1 = new sendmail();
mail1.Sendsmail(user1);
}
}
与:
注册类和sendmail类中的
user1
对象不同。当然,它们的变量命名方式相同,但它们引用不同的对象。要从用户处访问密码,您必须将用户传递到sendmail类,例如:
Signup.java
public class signup
{
public void settingPassowrd()
{
users user1 = new users();
user1.setapassword( "player" );
sendmail mail1 = new sendmail();
mail1.Sendsmail(user1);
}
}
与:
问题是在sendmail类中创建了一个新用户
users user1=new users()代码>-->因此,您不访问以前创建的用户,而是创建一个显然没有密码的新用户
而是将用户传递给注册类中的sendmail函数:
public void settingPassowrd(){
users user1 =new users();
user1.setapassword("player");
sendmail mail1 =new sendmail();
mail1.Sendsmail(user1);
}
在课堂上发送邮件:
public void Sendsmail(users user) {
System.out.println(user.getpassword());
}
顺便说一下,我建议您阅读一些Java编码指南。例如:
- 类名应始终以大写字母开头
- 类名通常是单数(
类用户
-->类用户
)
- 方法名称始终以小写字母开头,并使用CAMELCASSE(
getpassword()
-->getpassword()
)
问题在于,在sendmail类中,您创建了一个新用户
users user1=new users()代码>-->因此,您不访问以前创建的用户,而是创建一个显然没有密码的新用户
而是将用户传递给注册类中的sendmail函数:
public void settingPassowrd(){
users user1 =new users();
user1.setapassword("player");
sendmail mail1 =new sendmail();
mail1.Sendsmail(user1);
}
在课堂上发送邮件:
public void Sendsmail(users user) {
System.out.println(user.getpassword());
}
顺便说一下,我建议您阅读一些Java编码指南。例如:
- 类名应始终以大写字母开头
- 类名通常是单数(
类用户
-->类用户
)
- 方法名称始终以小写字母开头,并使用CAMELCASSE(
getpassword()
-->getpassword()
)
请遵循标准编码惯例。我用标准编码惯例更改了你的代码。只要复制粘贴它,它就会工作
用户类
public class Users {
private String password;
public users (){}
// GETTING PASSWORD
public String getpassword(){
return password;
}
// SETTING PASSWORD
public void setapassword(String password){
this.password=password;
}
}
注册班
public class Signup {
public void settingPassowrd(){
Users user1 =new Users();
user1.setapassword("player");
SendMail mail1 =new SendMail(user1);
mail1.Sendsmail();
}
}
SendMail类
public class SendMail {
private Users user1;
SendMail(Users user1){
this.user1 = user1
}
public void sendMail(){
user1.getpassword(); //getting password
System.out.println(user1.getpassword()); // If print here I get null
}
}
测试代码的主类
public class SignupMain {
public static void main(String[] args) {
Signup signup1= new Signup();
signup1.settingPassowrd();
}
}
请遵循标准编码惯例。我用标准编码惯例更改了你的代码。只要复制粘贴它,它就会工作
用户类
public class Users {
private String password;
public users (){}
// GETTING PASSWORD
public String getpassword(){
return password;
}
// SETTING PASSWORD
public void setapassword(String password){
this.password=password;
}
}
注册班
public class Signup {
public void settingPassowrd(){
Users user1 =new Users();
user1.setapassword("player");
SendMail mail1 =new SendMail(user1);
mail1.Sendsmail();
}
}
SendMail类
public class SendMail {
private Users user1;
SendMail(Users user1){
this.user1 = user1
}
public void sendMail(){
user1.getpassword(); //getting password
System.out.println(user1.getpassword()); // If print here I get null
}
}
测试代码的主类
public class SignupMain {
public static void main(String[] args) {
Signup signup1= new Signup();
signup1.settingPassowrd();
}
}
您可以在sendmail类的构造函数中传递user1.getpassword()。请确保您将遵循,以便其他人可以更轻松地阅读和理解您的代码。谢谢。我在哪里可以读到更多关于上述问题的信息?这样我才能更好地理解这个概念。您可以在sendmail类的构造函数中传递user1.getpassword()。请确保您将遵循,以便其他人能够更轻松地阅读和理解您的代码。谢谢。我在哪里可以读到更多关于上述问题的信息?这样我才能更好地理解这个概念。脱帽致敬,老兄!!我花了整整一天的时间试着去做!!最后,我发送了带有用户凭据的电子邮件!谢谢!好了,来吧。你可以参考我关于Java/J2EE设计模式的博客文章-脱帽致敬!!我花了整整一天的时间试着去做!!最后,我发送了带有用户凭据的电子邮件!谢谢!好了,你可以参考我关于Java/J2EE设计模式的博客文章-