Java 类和访问器方法

Java 类和访问器方法,java,class,methods,accessor,Java,Class,Methods,Accessor,我不理解访问器方法,我一直在创建setAge、getAge和getName 这就是问题所在: 添加三种访问器方法,setAge、getAge和getName。这些方法应该设置并获取相应实例变量的值 public class Player { protected int age; protected String name; public Player(String namArg) { namArg = name; age = 15;

我不理解访问器方法,我一直在创建setAge、getAge和getName

这就是问题所在:

添加三种访问器方法,
setAge
getAge
getName
。这些方法应该设置并获取相应实例变量的值

public class Player {

    protected int age;
    protected String name;

    public Player(String namArg) {
        namArg = name;
        age = 15;
    }
}

setAbcd方法是用于设置受保护数据字段的mutator方法。 getAbcd方法是用于返回数据字段值的访问器方法,因为它们通常是私有的,在类外不可用

e、 g

//突变方法
公共无效设置(字符串a){ 年龄=a; }

public void setName(String n) {
    name = n;
     }
public string getName() {
    return name;
     }


}
//存取器方法
公共字符串getAge(){ 回归年龄; }

public void setName(String n) {
    name = n;
     }
public string getName() {
    return name;
     }


}

您的实例变量是年龄和名称。setter方法无效,并将传递的参数设置为相应的变量。您的getter不是void,而是返回适当的变量

public class Player {

    protected int age;
    protected String name;

    public Player(String namArg) {
        namArg = name;
        age = 15;
    }
}

试试这个,然后带着问题回来。

回答:我不理解访问器方法 事情是这样的:

为什么我们需要访问器方法?封装!!! 为什么我们需要封装

1) 想象一下,您(程序员1)将编写那些setAge、getAge和getName方法。 我是程序员#2。我很可能无法直接访问年龄和姓名。所以我让你使用你的公共访问器方法setAge,getAge和getName。这是为了从混乱中保存代码和变量。因为你不能相信所有的程序员

2) 在设置方法中,u可以提供验证

随机邪恶程序员:是的,我想让年龄等于234,这样你的程序结果会粉碎哈哈哈

不,我要在我的设置方法中添加验证条件,这样你只能使年龄等于0到90(无论你想要什么)

这是我们使用访问器方法的最常见原因

代码说明:

设置说明(这只是为了了解主要内容)

public void设置(int-ageInput){

如果((ageInput>10)&&(ageInput使用访问器方法返回私有或受保护字段的值。它遵循一个命名方案,在方法名称的开头加上“get”一词。例如,让我们为名称添加访问器方法:

class Player{
   protected name

//Accessor for name
   public String getName()
   {
     return this.name;
   }
}
//Mutator for name
   public void setName(String name)
   {
     this.name= name;
   }
您可以通过以下对象访问受保护名称的值:

Player ball = new Player()
System.out.println(ball.getName())
mutator方法用于设置私有字段的值。它遵循一种命名方案,在方法名称的开头加上前缀“set”。例如,让我们为name添加mutator字段:

class Player{
   protected name

//Accessor for name
   public String getName()
   {
     return this.name;
   }
}
//Mutator for name
   public void setName(String name)
   {
     this.name= name;
   }
现在,我们可以使用以下方法设置玩家名称:
ball.setName('David')

你是在问如何创建getter和setter方法吗?你应该先尝试自己解决这个问题,遇到障碍时再回来找我们。如果你已经尝试过,然后问一个更具体的问题,我们应该能够帮助你克服它。@Andrew是的,我想知道如何创建它们,例如语法。please@Shaded我已经给了这是以前的事了,但我不能完全确定。谢谢你的帮助!:)我知道getName和getAge正在返回它,但我不完全确定setter是怎么做的。这就是为什么我质疑我是否正确,并在这里继续提问。感谢HelpSetter设置字段值。想法是在类中定义一个私有变量,以强制调用方调用setter方法。支持如果你想在年龄上添加条件,比如年龄必须大于15岁。所以你将把这个条件放在年龄设置器方法中。