为什么Java编译器(特别是它的解析器)不能理解这个语句

 丨为你 发布于 2023-02-10 08:23

我有以下两个类(在两个单独的文件中).

public class Foo
{
    public static class A
    {
        public static final boolean FLAG = false;
    }

    public final A A = new A();
}


public class Bar
{
    void method()
    {
         if (Foo.A.FLAG)  <<<< this is giving "Cannot make static ref to non-static field
            // do something
           ;
    }
}

我的问题是,为什么编译器不能记录通过Foo.A,我的意思是类A,而不是成员,这也恰好被命名A

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有