// a.java
public class a
{public static void main(String[] args)
{
b k = new b();
k.showK();
}
}
// b.java
public class b
{
private void showK()
{
System.out.println("Hello World");
}
}
在eclipse下,a会报错,但是可以得到class文件,运行会失败。
// b.java
{
public void showK()
{
System.out.println("you can see me");
}
}
将b中的方法改为public后,如果不替换掉原来的a.class,仍然会报原来的错,替换掉就正常了。
由此可见,eclipse下得到的class文件,如果其源代码是有错的,那么错误信息会被记录下来,即使错误是来自其他类,纠正后也仍然会提示该错误。
反编译了下报错的a.class,才发现是自己想复杂了,原来之前的代码内容都没保留,就只有一个throw语句,怪不得把错误改过来了也无效,,