仅仅为了解我-Xbootclasspath
,我编译了一个自定义String类(将toString
方法修改为"return "Hey Sugar,: " + this;"
)并将其保存在C:/test/test2
中然后创建一个简单的Java程序和使用的String如下:
String str = new String("sss");
System.out.println("############# " + str.toString());
现在,我编译了我的测试类,然后将其作为java -Xbootclasspath/p:test2/ MyTest
运行,但我没有看到效果。
所以,我假设我的String类的修改版本没有被加载。
我做错了吗?
另外,如果我编译将修改后的String类的.class保存在与我的测试Java类相同的文件夹中,那么在尝试编译我的测试Java类时会出现以下错误。
MyTest.java:37: error: cannot access String
public static void main(String[] args) {
^
bad class file: .\String.class
class file contains wrong class: java.lang.String
Please remove or make sure it appears in the correct subdirectory of the classpath.