0

問題はメソッドにあるはずcreateClass()です...使用するのは間違っていますclasses.add(this)か?

private static ArrayList<VirtualClass> classes = new ArrayList<VirtualClass>();
private boolean isPrivate;
private String className;
private String methodName;

public void setVirtualClass(String name, String method, boolean isP){
    this.className = name;
    this.isPrivate = isP;
    this.methodName = method;
}

public void createClass(String name, String method, boolean isP){
    this.className = name;
    this.isPrivate = isP;
    this.methodName = method;
    classes.add(this);
}

問題の詳細:クラス オブジェクトの ArrayList に値を格納できませんでした。(コード編集済み)

4

2 に答える 2

1

作成されたすべてのクラスの記録を保持したいと思いますか?

定義により、まだ構築されていないthisため、コンストラクターで渡すことは一般的に悪い習慣です。thisこの場合、問題が発生するとは思いませんが、確かに匂いがしません。

staticオブジェクトの作成とインスタンスの保存を分割できるように、ファクトリ メソッドまたは別の形式のファクトリ パターンを使用することを検討します。

于 2013-10-27T13:09:17.723 に答える