Java类中出现没有名字的方法

public class Bird {
{
System.out.print("bl");
}
public Bird(){
System.out.print("b2");
}
}
?????????
就是这题

这个肯定没错,
{
System.out.print("bl");
}
这是初始化块,先于类的方法执行从而初始化一些东西, 与加static的区别是,这种是创建类的对象时才加载,A a = new A() 时会加载初始化;加static在加载类时就加载初始化;

把下面这段代码运行下,看输出顺序,就明白了:

public class Init
{

{
System.out.println("aa");
}

public static void main(String[] args)
{

Init a = new Init();
System.out.println("bb");
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-06-27
进入一个类,之后的执行顺序是这样的
首先是static块,有多个的话按照static块的顺序来
在调用构造函数之前会调用非static的语句块,类似
{
System.out.print("r3");
}
然后调用构造函数
所以你那个的执行结果是
r1r4preblb2r3r2hawk
解释起来有点长,还看不懂消息我
第2个回答  2010-06-27
这个肯定错了。除了定义成员变量,其他语句都必须写方法里或者 static 块里。
第3个回答  2010-06-27
你这是什么意思呢?说清楚一些
相似回答