静态代码块   static{ 代码 } 随着类的加载而加载,随类的消失而消失,存在于类中,方法外,最先执行,且只加载1次,可用来加载驱动及初始化对象属性.

构造代码块   {   } 也存在于类中,方法外,由多个构造方法中相同的代码存放到一个代码块中调用执行,由于构造方法执行.

具体执行顺序参考下面代码.

例:

public class Demo4 {
static{
System.out.println("Demo静态代码块执行了");
}
{
System.out.println("Demo构造代码块执行了");
}
public Demo4(){
System.out.println("Demo构造方法执行了");
}
public static void main(String[] rgs){
new Demo4();
}
}

运行结果为:

Demo静态代码块执行了
Demo构造代码块执行了
Demo构造方法执行了

例2:

第一个类Demo4:

public class Demo4 {
static{
System.out.println("Demo静态代码块执行了");
}
{
System.out.println("Demo构造代码块执行了");
}
public Demo4(){
System.out.println("Demo构造方法执行了");
}
public static void main(String[] rgs){
new Demo5();
    new Demo4();
}
}
public class Demo5 {
String name = "王五";
static{
System.out.println("Demo5静态代码块执行了");
Demo5 ps = new Demo5();
System.out.println(ps.name); }
{
System.out.println("Demo5构造代码块执行了");
}
public Demo5(){
System.out.println("Demo5构造方法执行了");
}
}

第二个类Demo5

执行顺序为:

Demo静态代码块执行了
Demo5静态代码块执行了
Demo5构造代码块执行了
Demo5构造方法执行了
王五
Demo5构造代码块执行了
Demo5构造方法执行了

Demo构造代码块执行了
Demo构造方法执行了

如图所示,图中将Demo改成了Demo4


注:认真思考,总结,万变不离其中.

最新文章

  1. c#取得应用程序根目录
  2. 简述TCP连接的建立与释放(三次握手、四次挥手)
  3. 多线程相关------临界区CriticalSection
  4. Spring Rabbitmq HelloWorld实例
  5. Ehcache 缓存使用
  6. 【转】Selenium 面试题总结(乙醇Blog记录的面试题)
  7. C++ 内存的分配方式 (摘选自网络)
  8. webform:分页组合查询
  9. Linux下如何设置和查看环境变量
  10. logback详细配置(三)
  11. Python之路【第二篇】:Python基础(一)
  12. HDU 5622 KK's Chemical DP
  13. Android把图片保存到SQLite中
  14. HibernateSessionFactory类的主要方法
  15. ACCP8.0 HTML标签
  16. Linux环境下部署开源版“禅道”方法
  17. sqlserver使用存储过程跟踪SQL
  18. windows server 2012 流媒体服务器搭建(直播与点播)
  19. [c/c++] programming之路(6)、ASCII码,数据类型、随机数、字符转换及拼接等
  20. day2 大纲笔记

热门文章

  1. Ansys热应力计算
  2. sql注入-推断是否存在SQL注入-and大法和or大法
  3. Docker构建FastDFS镜像
  4. PythonStudy——枚举 enumerate
  5. rust 如何搜索,如何debug (解决)
  6. Css之 间距初始化
  7. Spring boot配置logback
  8. Unity 3D中的阴影设置
  9. Creating Excel files with Python and XlsxWriter——Introduction
  10. stm32之CMSIS标准、库目录、GPIO