【发布时间】:2018-08-20 19:49:49
【问题描述】:
我有下面的代码,它会引发下面给出的错误。当 'String[] args' 被 'java.lang.String[] args' 替换时,它不会抛出错误并运行方法 s1.method1()。
问题:为什么本地 String 优先于 java.lang.String ? 根据委托模型,Bootstrap 类加载器在加载 Test 类之前获得首选项和 java.lang.String。我在这里错过了什么吗?请指出任何有关此行为的参考。
Test.java:
package diff;
class String {
public void method1(){
System.out.println("in my method");
}
}
class Test {
public static void main(String[] args){
String s1 = new String();
s1.method1();
}
}
错误:在类 diff.Test 中找不到主方法,请将主方法定义为: 公共静态无效主要(字符串 [] 参数) 或者 JavaFX 应用程序类必须扩展 javafx.application.Application
【问题讨论】:
标签: java jvm classloader