プライベート フィールドとパブリック メソッドを持つクラスがあります。私のメソッドは get/set 命名規則に従います。フィールドがプライベートで、オブジェクト データを XML ファイルに書き込もうとすると、空の XML ファイルが生成されますが、それらをパブリックに変更すると、XML に必要なデータがすべて含まれます。これは何が原因だと思いますか?
public class ClassData {
private String name;
private ArrayList<String> methods;
public ClassData()
{
methods = new ArrayList<>();
}
public void setName(String cName)
{
name = cName;
}
public String getName()
{
return name;
}
public void setMethods(String mName)
{
methods.add(mName);
}
public ArrayList<String> getMethods()
{
return methods;
}
}
String fileName = cObj.getName() + ".xml";
XMLEncoder enc=null;
try{
enc=new XMLEncoder(new BufferedOutputStream(new FileOutputStream(fileName)));
}catch(FileNotFoundException fileNotFound){
System.out.println("Unable to save file.");
}
enc.writeObject(cObj);
enc.close();