変数をコンストラクター引数で上書きせずに変数の値を取得するにはどうすればよいですか?
例えば:
public class Example {
String something = "";
Scanner sc = new Scanner(System.in);
public Example()
{
}
public Example(String something){
this.something = something;
}
// Getter method
public String getSomething() {
return something;
}
public void changeValues() {
System.out.println("Please change the string!");
something = sc.next();
Example set = new Example(something);
}
}//example
public class AnotherClass {
Example test = new Example()
// I don't want to overwrite this so I set this to null
String something2 = test.getSomething();
// the above puts in a null reference instead of the text
}
コンストラクターの引数について、AnotherClass に何かをハード コードしたくないことと、changeValues メソッドを Example クラスにとどめておく必要があることに注意してください。
編集:何か変数をスペースでインスタンス化し、それを変数に格納する必要があるユーザーにプロンプトを表示し、それをコンストラクターに渡しました。これで、入力の代わりに元のインスタンス化スペースが返されました!