Java 内部类的公共属性中的IllegalAccessException

Java 内部类的公共属性中的IllegalAccessException,java,playframework,inner-classes,access-modifiers,playframework-1.x,Java,Playframework,Inner Classes,Access Modifiers,Playframework 1.x,我正在使用play framework 1.2.x构建一个类 我有一个控制器类,它包含一个非匿名(命名)私有内部类 当我试图通过内部类的构造函数访问其中一个公共字段时,我得到以下错误 上述代码 private static class FinancialTransactionJSONPacket implements JSONPacket{ public final boolean isSuccess; public final List<FinancialTransact

我正在使用play framework 1.2.x构建一个类

我有一个控制器类,它包含一个非匿名(命名)私有内部类

当我试图通过内部类的构造函数访问其中一个公共字段时,我得到以下错误

上述代码

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);           
    }
}
私有静态类FinancialTransactionJSONPacket实现JSONPacket{
公开最终许可证;
公开最终财务交易清单;
公共最终运营;
public FinancialTransactionJSONPacket(布尔值isSuccess,FinancialTransaction FinancialTransaction,OPERATIONS操作){
这(isSuccess,new ArrayList(),操作);
/*第43行*/这是financialTransactions.add(financialTransaction);
}
}
我不明白逻辑,这怎么可能?我正在从类的构造函数中访问类的属性访问说明符有什么关系

我尝试搜索并找到了匿名内部类,但它与匿名内部类有关,建议的解决方案是将匿名内部类作为命名类

声明

  • 公开最终清单财务交易
  • private静态类FinancialTransactionJSONPacket

静态类是私有的,因此只有封闭类可以访问其成员,无论它们是否为公共的

我在你难以辨认的图片中看不到任何证据表明访问发生在静态类自己的构造函数中。当我观察它时,它看起来更像是一个外部类试图访问该类的内部


注意:这不是一个内部类,因为它是静态的。

代码难以辨认。请在这里以格式化文本的形式发布。好的,以格式化文本的形式添加了代码。问题是什么,为什么是-1?我无法在页面上放大图像,请单击它,它将打开全尺寸的图像。@GautamK好的,我这样做了。这正好证实了我的答案。您在这里问了一个错误的问题。
financialTransactions
是内部类的一个
public
属性,我从内部类的构造函数访问它,这有什么不对?@GautamK堆栈跟踪中没有这样说。好好看看。堆栈跟踪谈到一个外部类试图访问该字段。但我甚至不知道该类是什么?为什么它要访问我的代码?