Java - 使用Accessor和Mutator方法

Pic*_*chu 5 java accessor mutators

我正在做家庭作业.我对它应该如何完成感到困惑.

问题是:

创建一个名为IDCard的类,其中包含一个人的姓名,ID号以及包含该人的photogrpah的文件的名称.为每个字段编写accessor和mutator方法.将以下两个重载的构造函数添加到类中:

public IDCard()public IDCard(String n,int ID,String filename)

通过使用这两个构造函数创建不同的ojbect并使用accessor和mutator方法在控制台上打印出它们的值来测试程序.

到目前为止我已经重写了这个:

public class IDCard {
String Name, FileName;
int ID;

public static void main(String[] args) {

}

public IDCard()
{
    this.Name = getName();
    this.FileName = getFileName();
    this.ID = getID();
}

public IDCard(String n, int ID, String filename)
{

}

public String getName()
{
    return "Jack Smith";
}

public String getFileName()
{
    return "Jack.jpg";
}

public int getID()
{

        return 555;
    }
}
Run Code Online (Sandbox Code Playgroud)

Vai*_*den 36

让我们回顾一下基础知识:"Accessor"和"Mutator"只是一个吸引人和一个二传手的奇特名字.getter,"Accessor",返回类的变量或其值.setter"Mutator"设置类变量指针或其值.

首先,您需要设置一个包含一些变量的类来获取/设置:

public class IDCard
{
    private String mName;
    private String mFileName;
    private int mID;

}
Run Code Online (Sandbox Code Playgroud)

但是哦,不!如果实例化此类,则这些变量的默认值将毫无意义.BTW"instantiate"是一个奇特的词:

IDCard test = new IDCard();
Run Code Online (Sandbox Code Playgroud)

所以 - 让我们设置一个默认构造函数,这是在你"实例化"一个类时调用的方法.

public IDCard()
{
    mName = "";
    mFileName = "";
    mID = -1;
}
Run Code Online (Sandbox Code Playgroud)

但是如果我们知道我们想要给变量的值呢?所以让我们创建另一个构造函数,一个带参数的构造函数:

public IDCard(String name, int ID, String filename)
{
    mName = name;
    mID = ID;
    mFileName = filename;
}
Run Code Online (Sandbox Code Playgroud)

哇 - 这很好.但是很愚蠢.因为我们无法访问(=读取)变量的值.所以让我们添加一个getter,当我们在它的时候,添加一个setter:

public String getName()
{
    return mName;
}

public void setName( String name )
{
    mName = name;
}
Run Code Online (Sandbox Code Playgroud)

尼斯.现在我们可以访问了mName.添加其余的访问器和mutator,你现在是一个经过认证的Java新手.祝好运.