0

外部クラスのコンストラクターで使用されるクラスのインスタンスを作成しようとしています。以下のコードを参照すると、UserDataオブジェクトが必要ですが、それを作成するためのオブジェクトも必要です。静的ではないため、最初に のインスタンスを持たずにオブジェクトをTimeOnlineInfo取得する方法がわかりません。ただし、外部クラスからメソッドにアクセスする必要があるため、静的にすることはできません。とにかくこれを機能させるか、最も似た効果を得ることができますか? クラスを静的にし、データを addTime メソッドに直接保存することはできないことに気付きましたが、すでにこの質問の途中であり、これを行う方法があるかどうかを知りたいと思っています。TimeOnlineInfoUserDataTimeOnlineInfo

これが私のコードの非常に単純化されたバージョンです:

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
4

3 に答える 3