static块的执行机制

今天在学JDBC的时候遇到类似于“static{}”,表示很不解,在网上查了很多资料,遂将其记下。

“static{}”就是代码块的意思。它可以保证无论所属类被加载多少次,static块中的语句只被执行一次。话不多说,代码验证:

package com.jdbc;

public class staticdemo {
    
    
     public static void main(String args[]){
            try {
                Class.forName("com.jdbc.stac");
                Class.forName("com.jdbc.stac");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
}

class stac{
    
    public static int ss=1;
    
    stac(){
       system.out.println("static块被执行")
    }
    
     public static void show(){
        System.out.println("静态方法");
    }
}

从主类中我们可以知道stac类被加载了两次,但是只输出一次“static{}“中的语句。。。。


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

static块的执行机制

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭