试题详情
简答题类的初始化有哪些时机?
  • 类的初始化有以下时机:
    (1)创建类的实例。创建类的实例的途径包括:用new语句创建实例,或者通过反射、克隆以及反序列化手段来创建实例。
    (2)调用类的静态方法。
    (3)访问某个类或接口的的静态变量,或者对该静态变量赋值。
    (4)调用JavaAPI中某些反射方法,比如调用Class.forName("Worker")方法,假如Worker类还没有被初始化,那么forName()方法就会初始化Worker类,然后返回代表这个Worker类的Class实例。forName()方法是java.lang.Class类的静态方法。
    (5)初始化一个类的子类。例如对Sub类的初始化,可看作是对它父类Base类的主动使用,因此会先初始化Base类。
    (6)Java虚拟机启动时被标明为启动类的类。例如对于“javaSample”命令,Sample类就是启动类,Java虚拟机会先初始化它。
  • 关注下方微信公众号,在线模考后查看

热门试题