Java 为什么公共静态方法不可访问?

Java 为什么公共静态方法不可访问?,java,reflection,Java,Reflection,我试图从类中反映parse(CharSequence,DateTimeFormatter)方法,每个类都扩展了TemporalAccessor类 private static final Map使用Java反射API,您可以通过设置accessible标志来覆盖方法的可访问性。这可以通过方法执行。setAccessible(true) 现在,isAccessible()方法并不像您认为的那样,它只是检查标准java访问检查当前是否被覆盖 这意味着,如果标准访问修饰符允许,您当然可以使用反射调用该

我试图从类中反映
parse(CharSequence,DateTimeFormatter)
方法,每个类都扩展了
TemporalAccessor


private static final Map使用Java反射API,您可以通过设置accessible标志来覆盖方法的可访问性。这可以通过
方法执行。setAccessible(true)

现在,
isAccessible()
方法并不像您认为的那样,它只是检查标准java访问检查当前是否被覆盖


这意味着,如果标准访问修饰符允许,您当然可以使用反射调用该方法。否则,您必须设置可访问标志。

使用Java反射API,您可以通过设置可访问标志来覆盖方法的可访问性。这可以通过
方法执行。setAccessible(true)

现在,
isAccessible()
方法并不像您认为的那样,它只是检查标准java访问检查当前是否被覆盖

这意味着,如果标准访问修饰符允许,您当然可以使用反射调用该方法。否则,您必须设置可访问标志。

请参阅:

此方法不推荐使用,因为它的名称提示它检查反射对象是否可访问,而实际上它指示是否抑制了对Java语言访问控制的检查此方法可能会对调用方可访问的反射对象返回
false
若要测试此反射对象是否可访问,应使用

(我的重点。)

参见:

此方法不推荐使用,因为它的名称提示它检查反射对象是否可访问,而实际上它指示是否抑制了对Java语言访问控制的检查此方法可能会对调用方可访问的反射对象返回
false
若要测试此反射对象是否可访问,应使用

(我的重点。)

什么是“公共静态”方法?我看到一个默认的静态方法。错误消息涉及什么“公共静态”方法?我看到一个默认的静态方法。错误消息
method: public static java.time.YearMonth java.time.YearMonth.parse(java.lang.CharSequence,java.time.format.DateTimeFormatter), false