问下关于java静态方法的问题

guangzhi0633 2009-11-27 11:11:21
public class SecondClass {
static FirstClass fc1 = new FirstClass(1);
FirstClass fc3 = new FirstClass(3);
static{
FirstClass fc2 = new FirstClass(2);
}
{
System.err.println("SecondClass's block, this block is not static block.");
}
SecondClass(){
System.err.println("SecondCalss");
}
FirstClass fc4 = new FirstClass(4);
}

如果实例化这个方法:是fc3 先实例还是fc4 先实例,我感觉不应该有先后,还有这个无名的方法{
System.err.println("SecondClass's block, this block is not static block.");
} 应该如何解释,静态的无名方法又该如何解释: static{
FirstClass fc2 = new FirstClass(2);
}

谢谢
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuzhusany 2009-11-27
  • 打赏
  • 举报
回复
f3比f4先实例化
你说的无名方法叫
{
System.err.println("SecondClass's block, this block is not static block.");
}
叫做块初始化

另外个就是静态块初始化
静态比非静态先初始而且只初始化一次
yuekejun 2009-11-27
  • 打赏
  • 举报
回复
fc3和fc4的初始化应该有先后吧
swandragon 2009-11-27
  • 打赏
  • 举报
回复
{
System.err.println("SecondClass's block, this block is not static block.");
}
无名方法?
这个应该叫代码块
看下类的初始化顺序
guangzhi0633 2009-11-27
  • 打赏
  • 举报
回复
如果实例化这个SecondClass 对象

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧