外部クラスのコンストラクターで使用されるクラスのインスタンスを作成しようとしています。以下のコードを参照すると、UserData
オブジェクトが必要ですが、それを作成するためのオブジェクトも必要です。静的ではないため、最初に のインスタンスを持たずにオブジェクトをTimeOnlineInfo
取得する方法がわかりません。ただし、外部クラスからメソッドにアクセスする必要があるため、静的にすることはできません。とにかくこれを機能させるか、最も似た効果を得ることができますか? クラスを静的にし、データを addTime メソッドに直接保存することはできないことに気付きましたが、すでにこの質問の途中であり、これを行う方法があるかどうかを知りたいと思っています。TimeOnlineInfo
UserData
TimeOnlineInfo
これが私のコードの非常に単純化されたバージョンです:
class UserData {
TimeOnlineInfo timeOnline;
public UserData(Object data1, Object data2, Object data3, Object data4, Object data5, TimeOnlineInfo timeOnlineInfo){
this.timeOnlineInfo = timeOnlineInfo;
}
public class TimeOnlineInfo {
private int time;
public TimeOnlineInfo(int time){
this.time = time;
}
public void addTime(int time){
this.time += time;
UserData.this.saveData();
}
}
}
UserData userData = new UserData(new UserData.TimeOnlineInfo());//Doesn't work because PlayInfo is not a static class
UserData userData = new UserData(userData.new TimeOnlineInfo());//This is just a stupid because i'm using the uncreated object in its own constructor