Play フレームワーク 1.2.x を使用してクラスを構築していました。
非匿名の(名前付き)プライベート内部クラスを含む Controller クラスがあります。
コンストラクターを介して内部クラスのパブリック フィールドの 1 つにアクセスしようとすると、次のエラーが発生します。
上記のコード
private static class FinancialTransactionJSONPacket implements JSONPacket{
public final boolean isSuccess;
public final List<FinancialTransaction> financialTransactions;
public final OPERATIONS operation;
public FinancialTransactionJSONPacket(boolean isSuccess,FinancialTransaction financialTransaction,OPERATIONS operation) {
this(isSuccess,new ArrayList<FinancialTransaction>(),operation);
/* Line 43 */ this.financialTransactions.add(financialTransaction);
}
}
ロジックがわかりません。これはどのように可能ですか? コンストラクター内からクラスの属性にアクセスしていますが、アクセス指定子はどのように重要ですか?
検索してみたところ、この記事を見つけましたが、匿名の内部クラスに関連しており、提案された解決策は、匿名の内部クラスを名前付きクラスにすることです。
宣言
public final List<FinancialTransaction> financialTransactions;
private static class FinancialTransactionJSONPacket