比如说你写一个classpublic class TestType { public int a; public double b; public double c() { return b/a; } }那么很明显,你自己的程序会在给a和b都赋值了之后才去计算c(),你不会提前调用c()吧?所以正如 #2 楼所说,调试器帮你提前调用各种方法并显示的目的是方便你调试的(懒人的调试),不代表着它有bug。
还有一个例子 public class TestType { public class A { public int i; } public A a; }那么你的TestType类里的a没有实例化之前,就去访问a.i,当然也是报错的
{
public int a;
public double b; public double c()
{
return b/a;
}
}那么很明显,你自己的程序会在给a和b都赋值了之后才去计算c(),你不会提前调用c()吧?所以正如 #2 楼所说,调试器帮你提前调用各种方法并显示的目的是方便你调试的(懒人的调试),不代表着它有bug。
public class TestType
{
public class A
{
public int i;
}
public A a;
}那么你的TestType类里的a没有实例化之前,就去访问a.i,当然也是报错的