所以我有一个关于“setter”和“getter”方法的问题,以及它们是否有用。
假设我只写了一个非常基本的程序,如下所示:
public class Account
{
String name;
String address;
double balance;
}
然后,假设我编写了另一个使用此“帐户”类的类,如下所示:
class UseAccount
{
public static void main(String[] args)
{
Account myAccount = new Account();
Account yourAccount = new Account();
myAccount.name = "Blah blah"
}
}
等等等等
当我编写myAccount.name = "Blah blah"
时,我正在更改“帐户”类中变量“名称”的值。我可以随意使用按原样编写的代码多次执行此操作。然而,我注意到,最好将“Account”类中的变量设为私有,然后使用“setter”和“getter”方法。因此,如果我写以下内容:
public class Account
{
private String name;
private String address;
private String balance;
public void setName(String n)
{
name = n;
}
public String getName()
{
return name;
}
}
我仍然可以通过创建另一个具有以下内容的类来更改变量“name”的值:
class UseAccount
{
public static void main(String[] args)
{
Account myAccount = new Account();
myAccount.setName("Blah blah");
}
}
我不明白使用这种方法有什么不同,或者应该防止人们改变私有字段的值。有什么帮助吗?