java吧 关注:1,236,214贴子:12,704,429
  • 10回复贴,共1

请教个问题,类属性和类初始化块只初始化一次?

只看楼主收藏回复

类的初始化只执行一次,当对同一个类new多个对象时,类属性和类初始化块只初始化一次
这句话对还是错,刚才看到执行顺序问题,偶然在一个博客上看到这句话。写个代码好像不是这样啊,每次new好像都调用一次类初始化块,打印几个字符


IP属地:河北1楼2018-09-03 02:07回复
    类初始化和实例初始化不同,每次new调用的是实例初始化块。而且如果一个类被卸载又被重新加载,会执行多次初始化


    IP属地:美国来自Android客户端4楼2018-09-03 07:38
    收起回复
      难道不是静态块儿只执行一次么……


      IP属地:湖北来自Android客户端5楼2018-09-03 08:13
      收起回复
        类初始化可能多次调用class.forname会强制调用classloader,一般加载过会从缓存拿,所以都一样,new的话是创建新的实例每次创建均不同


        IP属地:泰国来自Android客户端6楼2018-09-03 08:13
        回复