类和访问器方法Java

时间:2013-10-17 19:47:28

标签: java class methods accessor

我不理解存取方法,我一直坚持创建setAge,getAge和getName。

这就是问题:

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

public class Player {

    protected int age;
    protected String name;

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

5 个答案:

答案 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:它只返回当前年龄值。没什么好看的。

如果您有更多问题请告诉我;)祝您好运。