美文网首页
ThinkingInJava Exercise7_18

ThinkingInJava Exercise7_18

作者: SexySmallMonkey | 来源:发表于2017-04-02 23:38 被阅读10次

    创建一个static final域和final域的类,说明二者间的区别。

    首先,main方法在类Difference中,所以在进入main之前JVM会先加载Difference类。

    类加载时,其静态变量sft就会初始化,此时Test的构造器会被调用。而且静态变量只会初始化一次。

    是所有实例对象共有的,即使以后通过类或实例对象用到它,也不会再初始化。

    当运行到Difference d1 = new Difference("d1"); 实例对象有一个属性ft,ft要初始化,此时Test的构造器会被调用。

    由于ft不是静态的,所以每new 一个Difference,都要初始化一次。

    相关文章

      网友评论

          本文标题:ThinkingInJava Exercise7_18

          本文链接:https://www.haomeiwen.com/subject/icrnottx.html