日期:2014-05-20  浏览次数:20633 次

这段代码为什么不能通过?
如下:
class   B
{
void   printB()
{
}
}
class   A
{            
                //{
                B   b=new   B();
                b.printB();
              //}      
}
去掉注释,就能编译通过,我实在想不明白,谁知道原因啊.


------解决方案--------------------
b.printB(); 这样的语句只能在方法中调用吧 不知道加个注释是不是匿名方法
------解决方案--------------------
去掉注释相当于一段不属于方法的代码
所以可以编译,但不能运行通过因为没有main方法
加上注释要去掉 b.printB();因为这在方法中调用

------解决方案--------------------
只能在方法中调用

------解决方案--------------------
class A
{
static{
B b=new B();
b.printB();
}
}

这样也是可以的,类A第一次载入时即执行static块.