首页  >  问答  >  正文

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

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

static {
    name = "demo";
}

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

高洛峰高洛峰2711 天前600

全部回复(4)我来回复

  • 世界只因有你

    世界只因有你2017-05-18 10:46:30


    就中间代码来看没有区别

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:46:30

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

    回复
    0
  • 某草草

    某草草2017-05-18 10:46:30

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

    回复
    0
  • PHPz

    PHPz2017-05-18 10:46:30

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

    回复
    0
  • 取消回复