Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类中定义的方法不可访问_Java_Oop_Public_Access Specifier - Fatal编程技术网

Java 类中定义的方法不可访问

Java 类中定义的方法不可访问,java,oop,public,access-specifier,Java,Oop,Public,Access Specifier,我遵循这个例子: 要创建Java Spring属性的嵌套列表,经过模糊处理和简化后,如下所示: conf.property: a、 b.c=项目1、项目2、项目3 AppProperties.java位于包x.y.z.properties中: @EnableConfigurationProperties @ConfigurationProperties(prefix = "a") @Configuration public class AppProperties { private St

我遵循这个例子: 要创建Java Spring属性的嵌套列表,经过模糊处理和简化后,如下所示:

conf.property:

a、 b.c=项目1、项目2、项目3

AppProperties.java位于包x.y.z.properties中:

@EnableConfigurationProperties
@ConfigurationProperties(prefix = "a")
@Configuration
public class AppProperties {
    private String version;
    private String email;
    public BProperties b = new BProperties();



    static class BProperties {
        public List<String> c;

        public List getC() {
            return c;
        }

        public void setC(List c) {
            this.c= c;
        }
    }
}
位于程序包x.y.z.validation中的FieldValidator.java:

public class IsItemValidator implements ConstraintValidator<IsItem, Object> {

    @Autowired
    public AppProperties appProperties;
    //... bunch of other stuff...

    private boolean hasValidItem(final Object item) {


        return appProperties.getB().getC().contains(item);
    }
}
为了简单起见,我没有编写所有的getter/setter,它们都在那里,并且是公共的

我仍然得到:

a.b.c.properties.bproperty中的java:getC在 不可访问的类或接口

我试着在谷歌上搜索类似的问题,但没有一个答案对我有意义。。
这是怎么回事?我已经根据我阅读的关于不同软件包的答案之一公开了所有内容。

将您的BProperty类声明为公共:

public static class BProperties {

在您的代码中,它具有包私有可见性,因此IsItemValidator类无法看到它,因为它位于另一个包中。

**public**static class BProperties。谢谢!我一定错过了,因为该类是IDEA自动生成的,具有默认可见性。。