zoukankan      html  css  js  c++  java
  • static关键字

    关于Java中的static关键字:

    1、static英语单词翻译为静态的

    2、static修饰的方法时静态方法

    3、static修饰的变量时静态变量

    4、所有static修饰的元素都称为静态的,都可以使用“类名.”的方式访问,当然也可以用“引用.”的方式访问【但不建议】

    5、static修饰的所有元素都是类级别的特征,和具体的对象 无关。

    6、static修饰的变量会在方法区开辟一个该变量的空间

    静态代码块(在类装载时执行一次,优先于main方法)

    1.语法格式:

    static{

    java语句;

    }

    2.静态代码块在类加载时执行,并且只执行一次。

    3.静态代码块在一个类中可以编写多个,并且遵循自上而下的顺序一次执行。

    4.静态代码块的作用?怎么用?

    -和实际需求有关系。例如项目中要求在类加载的时刻执行代码完成日志的记录。

    那么这段记录日志的代码就可以缩写到静态代码快当中,完成日志记录。

    -静态代码块是Java为程序员准备的一个特殊的时刻,这个特殊时刻被称为类加载时刻。

    若希望在此刻执行一段特殊的程序,这段程序可以直接放到静态代码块当中。

    5.通常在静态代码块当中完成预备工作,先完成数据的准备工具,例如:初始化连接池,解析xml配置文件

    代码示例

    public class StaticTest01{
        static{
            System.out.println("类加载 --》 1");
        }
            static{
            System.out.println("类加载 --》 2");
        }
            static{
            System.out.println("类加载 --》 3");
        }
        public static void main(String[] args){
            System.out.println("main begin");
        }
    }

    实例代码块(在每次实例对象时执行)

    1、实例代码块可以编写多个,也是遵循自上而下的顺序依次执行

    2、实例代码块在构造方法执行之前执行,构造方法执行依次,实例代码块对应执行一次。

    3、实例代码块也是Java语言为程序员准备一个特殊的时机,这个特殊时机被称为:对象初始化时机。

    代码示例

    public class Test{
        //构造函数
        public Test(){
            System.out.println("Test类的缺省构造器执行");
        }
        //实例代码块
        {
            System.out.println(1);
        }
            //实例代码块
        {
            System.out.println(2);
        }
            //实例代码块
        {
            System.out.println(3);
        }
        public static void main(String[] args){
            System.out.println("main begin");
            new Test();
            new Test();
        }
    }

    输出结果:

    main begin
    1
    2
    3
    Testlei类的缺省构造器执行
    1
    2
    3
    Testlei类的缺省构造器执行

    从结果可以看出,与main方法无关,但当new实例化方法后,顺序是先执行实例代码块再执行构造徐

  • 相关阅读:
    Prometheus对标签的处理
    Promethueus常用函数
    jenkins容器化docker-compose
    k8s常用命令
    k8s网络笔记
    动态更新已经存在配置
    prometheus远程写调优参数说明
    IndiaHacks 2016
    Codeforces Round #344 (Div. 2) Messager KMP的应用
    HDU1711 KMP的应用
  • 原文地址:https://www.cnblogs.com/sup3rman/p/15438540.html
Copyright © 2011-2022 走看看