10、代码块、构造代码块、静态代码块及main方法之间的关系

1、普通代码块

  在方法或语句中出现在{}之间的类容就称为普通代码块,简称代码块。普通代码块和一般的语句执行顺序由他们在代码中出现的次序决定--“先出现先执行”,即顺序执行。

 /*下面第一个类时合法的,而且下面的这两个类的运行顺序是一模一样的,但一般没人这么写*/
public class Test {
{
System.out.println("1");
}
int x=1;
System.out.println("2");
{
System.out.println("3");
}
}
public class Test1 { System.out.println("1");
int x=1;
System.out.println("2");
System.out.println("3");
}

2、构造代码块

  最简单的来说就是构造方法中的代码块。

3、静态代码块

  一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;静态块用于初始化类,为类的属性初始化。每个静态代码块只会执行一次

 package com.st.common.tools;

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; public class HibernateTools { private static SessionFactory sf;// 声明一个工厂类
/*这就是一个静态代码块*/
static{
// 创建Configuration对象,用于读取xml文件
Configuration conf = new Configuration();
conf.configure("/hibernate.cfg.xml"); // 通过buildSessionFactory()创建SessionFactory的工厂类
sf = conf.buildSessionFactory();
}
/*这是一个普通的代码块*/
public static Session openSession(){
// 通过openSession()获取一个会话
return sf.openSession();
}
}

4、代码块、构造代码块、静态代码块及main方法在执行的时候的优先级别:(优先级从高到低)

  静态代码块>mian方法>构造代码块>构造方法。

  

上一篇:ASP.NET MVC+Bootstrap个人博客之praise.js点赞特效插件(二)


下一篇:C#------如何取出exe运行文件给客户使用