我想实现一个设置/更改名称的方法。例如:预设名称=“Ben”。使用方法,应该可以将名称更改为=“Charly”。到目前为止我的方法:
public void setName (String name)
{
name = "";
}
当我调用方法时,我可以输入名称但我的JDK(blueJ)不保留名称。我究竟做错了什么?在此先感谢您的帮助。
答案 0 :(得分:0)
您只需将代码更改为以下内容(假设您的类中有一个名为name
的引用变量):
public void setName (String name){
this.name = name;
}
这在Java中称为变量阴影。例如。当有两个具有相同名称的变量(即本地变量和实例)时,局部变量优先于实例变量,因此,语句如:
name = "";
将值分配给局部变量name
而不是实例变量。要为实例变量赋值,我们可以使用this
关键字(访问和修改值)。
答案 1 :(得分:0)
在您的方法中,您应该更改类对象的名称变量。这是一个exxple,你有用户类,你想更新它的名字:
public class user {
String name;
public user(){
name = "";
}
public void setName(String newName){
name = newName;
}
}