美文网首页
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

    创建一个static final域和final域的类,说明二者间的区别。 首先,main方法在类Differenc...

  • THINKINGINJAVA-多态

    多态(概念): 所谓多态,就是指一个引用(类型)在不同的情况下的多种状态。也可以理解为,多态是指通过指向父类的指针...

  • ThinkingInJava Exercise6_1

    在某个包中创建一个类,在这个类所处的的包的外部创建该类的一个实例。

  • ThinkingInJava Exercise6_3

    创建两个包:debug和debugoff,它们都包含一个相同的类,该类有一个debug()方法。第一个版本显示发送...

  • ThinkingInJava Exercise6_5

    创建一个带有public,private,protected和包访问权限域以及方法成员的类。创建该类的一个对象,看...

  • ThinkingInJava Exercise6_4

    展示protected方法具有包访问权限,但不是public。

  • ThinkingInJava Exercise6_7

    根据描述access和Weight的代码片段创建类库。在某个不属于access类库的类中穿件一个Weight实例。

  • ThinkingInJava Exercise7_8

    创建一个基类,它仅有一个非默认构造器;再创建一个导出类,它带有默认构造器和非默认构造器。在导出类的构造器中调用基类...

网友评论

      本文标题:ThinkingInJava Exercise7_18

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