Иногда требуется создавать объект определенного класса с предустановленными значениями, либо возвращать какойто (я их называю глобальными) ранее созданный объект.
Первая возможность реализуеся в конструкторе класса:
public class Player {
public String characterName = "N/A";
public String characterClass = "Paladin";
public String characterSex = "Man";
public int characterPlayedTime = 0;
public int characterLevel = 1;
public int characterDamage = 100;
public Player () {
characterName = "Adept";
characterClass = "Rogue";
characterSex = "Man";
characterPlayedTime = 15;
characterLevel = 30;
characterDamage = 500;
}
}
... создаст в каждом созданном новом объекте ранее записанные в конструкторе значения. После создания их можно изменить на другие.
Для второго случая:
public class Player {
public String characterName = "N/A";
public String characterClass = "Paladin";
public String characterSex = "Man";
public int characterPlayedTime = 0;
public int characterLevel = 1;
public int characterDamage = 100;
public static Player adept() {
Player ret = new Player();
ret.characterName = "Adept";
ret.characterClass = "Rogue";
ret.characterSex = "Man";
ret.characterPlayedTime = 15;
ret.characterLevel = 30;
ret.characterDamage = 500;
return ret;
}
}
... статическая функция вернет созданный в ней объект, предварительно присвоив необходимые значения в поля объекта. Их так же можно изменить.