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实例化方法后,顺序是先执行实例代码块再执行构造徐

  • 相关阅读:
    Maven 环境的配置
    zTree的简单例子
    plsql免安装客户端的配置
    HDU 1232 畅通工程
    HDU 5698 瞬间移动
    Codeforces 1015E1 Stars Drawing (Easy Edition)
    Codeforces 784B Santa Claus and Keyboard Check
    Codeforces 500C New Year Book Reading
    NSarray 赋值 拷贝 等问题记录
    UINavigationController 操作记录
  • 原文地址:https://www.cnblogs.com/sup3rman/p/15438540.html
Copyright © 2011-2022 走看看