Так же, как и любое другое поле.
static String name;
// assign
name = "Bob";
// get
String n = name;
Если вы хотите сохранить его в файл, вы можете использовать перехватчик для записи данных, однако это не гарантированно будет работать. Я бы записывал данные в файл каждый раз, когда он изменяется, и загружал их при запуске.
private static final String NAME_FILE = "name.txt";
static String name; static {
try {
name = FileUtils.readFileToString(NAME_FILE );
} catch (IOException e) {
name = "unknown";
}
public static String getName() { return name; }
public static void setName(String name) {
this.name = name;
try {
FileUtils.writeStringToFile(NAME_FILE, name);
} catch(IOException e) {
log.error(e);
}
}
Вы можете сохранить переменную во время сериализации, переопределив wrireObject / readObject, однако это плохая идея. Вместо этого вам лучше сериализовать статическое значение.