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新手.祝好运.