答案 0 :(得分:0)
这些声明在到达字节码时是公共的,但是它们的名称被修饰,以使Java客户端不会意外地调用它们。因此,这不是绝对安全的,但是它表明不应该调用它们。 (这在文档here中)。
例如,如果在内部标记了一个名为calculate
的函数,则该函数可能在字节码中以名称calculate$modulename
结尾。 (至少在某些情况下,至少根据我对此的测试,似乎确实不存在名称混乱的情况。)
此外,IntelliJ还将检测是否已使用internal
可见性编译了声明(因为有元数据表明了这一点),并在尝试使用它时向您显示错误。