静态属性中的赋值和静态代码块中的赋值有什么区别?

private static String name = "demo";
private static String name;

static {
    name = "demo";
}

如以上代码所示,两种写法有什么区别,或者各有什么优缺点。

阅读 6.4k
4 个回答

clipboard.png
就中间代码来看没有区别

结果上没有区别,只是代码块里你可以写其他代码,像是往map里塞数据啥的。

在静态代码块中,可以对更多变量进行赋值等操作,一般是用来做初始化,比如游戏加载时,用来加载静态资源图片用的。

有个小小的区别:同一个类中,静态属性的初始化在静态初始化块之前完成

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题