java - 我们可以访问java包外默认类中定义的公共(public)方法吗?

标签 java

java中的main方法被定义为公共(public)方法,并且该方法被定义在默认类中。让我们说

class test{
    public static void main(String args[]){
        System.out.println("Hi");
    }
}

您能否解释一下 JVM 如何访问这个 main 方法,因为该类是默认的,只能在包中访问。

最佳答案

您将 JVM 视为其他包中的一堆 Java 代码,因此无法使用默认可访问性访问隐藏在类中的 main 方法。但事实并非如此。 JVM 是运行 Java 代码的虚拟机;它决定什么可以被其他 Java 代码访问,什么不能被其他 Java 代码访问。特别是,它可以运行它喜欢的任何方法,无论其可访问性如何。

关于java - 我们可以访问java包外默认类中定义的公共(public)方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6794931/

相关文章:

JAVA - 如何从扫描仪读取文件中检测到 "\n"字符

java - 下载文件存储位置和处理使用带有 JAVA 的 selenium webdriver 下载弹出窗口

java - 在 Java Swing 中实现实现的优雅方式?

java - 获取存储在应用程序外部的 log4j 配置的位置

java - 使用 Jacoco 时,覆盖 View 显示 Intellij 中的 0.0%

Java多线程——加入一个CPU繁重的线程和volatile关键字

java - 用于原始类型的 Jackson 序列化器

java - Gson自定义反序列化但只有一个字段

java - 如何通过从变量中提取类型来创建对象?

java - 如何继承 DefaultTableModel 并更改其 dataVector