zoukankan      html  css  js  c++  java
  • Java静态块学习

    静态块是类里面的构造器,对象有构造器那么类也有构造器,类里面的构造器叫做初始化方法。也就是new一个对象他会经过一个构造器。加载一个类,也有被初始化的一片代码,这个就称之为静态块。一个类里面可以有很多个静态块,静态块的运行过程是,如果一个类里面有多个静态块,那么他是从上到下运行的。如图7.5所示:

      

      图7.5

      他是从上到下的运行,但是需要哪一个的时候他就会被加载实例化,但静态块还是从上到下执行。里面可以包含很多代码,但是静态块不能被实例的成员访问。如图7.51所示:

      

      图7.51

      静态块是类被加载的时候就会被创建,静态块会被4种方式加载。第一种new对象静态块会初始化激发类被加载。如图7.52所示:

      

      图7.52

      第二种访问静态的属性,也会激发类被加载。如图7.53所示:

      

      图7.53

      第三种调用里面的静态方法,也会触使类加载起来。如图7.54所示:

      

      图7.54

      第四种用Class.forName(“Test”);可以通过字符串加载起来,这种方式叫做动态加载,也可以触使一个类加载起来。如图7.55所示:

      图7.55

      常量成员不能被初始化加载如图7.56所示:

      图7.56

      打印的是10,但是静态块的东西没有打印出来,那就说明这个类没有被加载起来,因为他是一个静态的常量,静态的常量不属于类的内存,他没有分配在这个类内存里面,他不需要初始化这个类。静态的属性为什么能,因为静态的属性内存必须要分配在这个类里面,所以他会被初始化加载,所以图中的静态块不会被加载起来。

    技术分享: www.kaige123.com

  • 相关阅读:
    TCP的拥塞控制(详解)
    TCP加速–初始拥塞窗口调整
    HTTPS 之 TLS 性能调优
    https抓包分析——wireshark抓包分析TLSv2(详细)
    HTTPS的由来详述,数字证书实现HTTPS
    详解Nginx服务器配置
    java:tomcat(负载均衡)nginx的应用配置
    QML对象构造顺序
    QML属性动态绑定
    mysql去重查询某列
  • 原文地址:https://www.cnblogs.com/kaige123/p/6065540.html
Copyright © 2011-2022 走看看