我不理解存取方法,我一直坚持创建setAge,getAge和getName。
这就是问题:
添加三种访问方法,setAge
,getAge
和getName
。这些方法应该设置并获取相应实例变量的值。
public class Player {
protected int age;
protected String name;
public Player(String namArg) {
namArg = name;
age = 15;
}
}
答案 0 :(得分:4)
访问器方法用于返回私有或受保护字段的值。它遵循命名方案,在单词“get”前面加上方法名称的开头。例如,让我们为name添加访问器方法:
class Player{
protected name
//Accessor for name
public String getName()
{
return this.name;
}
}
您可以通过以下对象访问受保护名称的值:
Player ball = new Player()
System.out.println(ball.getName())
mutator方法用于设置私有字段的值。它遵循一个命名方案,在单词“set”前面加上方法名称的开头。例如,让我们为name添加mutator字段:
//Mutator for name
public void setName(String name)
{
this.name= name;
}
现在我们可以使用以下方式设置玩家名称: ball.setName( '大卫');
答案 1 :(得分:1)
您的实例变量是年龄和名称。您的setter方法为void,并将传递的参数设置为相应的变量。你的getter不是void并返回适当的变量。
试试这个并回答问题。
答案 2 :(得分:0)
setAbcd方法是用于设置受保护数据字段的mutator方法。 getAbcd方法是用于返回数据字段值的访问器方法,因为它们通常是私有的,在类外不可用。
例如
public void getvariableName() {
return variableName;
}
答案 3 :(得分:0)
public class Player {
protected int age;
protected String name;
// mutator方法
public void setAge(String a){
年龄= a;
}
public void setName(String n) {
name = n;
}
//访问者方法
public string getAge(){
回归年龄;
}
public string getName() {
return name;
}
}
答案 4 :(得分:0)
答案:我不了解存取方法 事情就是这样:
为什么我们需要访问器方法?封装!!! 为什么我们需要封装?
1)想象一下你(程序员#1)会写那些setAge,getAge和getName方法。 我是程序员#2。我很可能无法直接访问年龄和名字。所以我要使用你的公共访问器方法setAge,getAge和getName。这是为了保存您的代码和变量免受混乱。因为你不相信所有的程序员。
2)在setAge方法中,你可以提供VALIDATION
随机邪恶的程序员:你我想让年龄等于234,所以你的程序结果会粉碎hahaha
u:不,我要在我的setAge方法中添加验证条件,所以你只能使年龄等于0到90(无论你想要什么)
这是我们使用存取方法的最常见原因。
代码说明:
setAge解释(这只是为了获得主要想法)
public void setAge(int ageInput) {
if ((ageInput > 10) && (ageInput <90))
{age = a;}}
随机恶意程序员将ageInput发送到您的公共方法中。 首先,它检查年龄值是否正确。如果是,则age instance(object)变量将成为ageInput。如果不是,什么都不会发生,你的变量就不会搞砸了。
GetAge:它只返回当前年龄值。没什么好看的。
如果您有更多问题请告诉我;)祝您好运。