java_静态代码块

原创 2016年06月01日 23:40:12

静态代码块:

我们知道构造方法是给对象进行初始化的,对象一创立就会被实例化,在构造方法中有一个构造代码块和静态代码块,两种都是给对象进行初始化的。

但是有什么区别了?

我们知道构造代码块在执行的时候优先于构造函数和其他方法的执行

运行结果如下:

    

来看看静态代码块是如何运行的:

运行结果如下:

由此可知静态代码块比构造代码块的优先级更高

这是为什么了?因为我们在运行的时候Test类被加载了,当碰到static的时候就会被执行,构造代码之所以没有被执行是因为我们启动java虚拟机把Test.class文件加载到内存中,这里就会执行静态代码块,而创建对象是后面执行的所以比构造代码块先执行,简单来说就是随着类的加载而加载,如:

我并没有创建对象而是调用静态方法,运行结果如下:

因为我们要调用Test里面的方法所以也要加载Test类,所以静态代码块执行了,如果下列代码你能猜出结果说明你已经很熟悉静态代码块和构造代码块了

运行结果:

       

注意: 静态代码块只会执行一次因为是随着类的加载而加载而不是创建对象就会执行的,而构造代块是对象的一旦创建就会执行一次的, 

 运行结果:




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java误区: 静态代码块,会在类被加载时自动执行?

JAVA静态代码块会在类被加载时自动执行?         很多Java开发者的思想,被这个思想深深的论剑了n遍,传播这个错误思想的博客,在网上一堆,越来越多的人被轮奸。         如:http...

java中静态代码块的用法 static用法详解

java中静态代码块的用法 static用法详解 (一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要...
  • zh521zh
  • zh521zh
  • 2015年04月09日 16:07
  • 162

java静态代码块和构造方法执行顺序

http://blog.sina.com.cn/s/blog_49cc672f0100f8f2.html 先看看下面几个类,然后判断它们的输出public class A {    static{  ...
  • cynhafa
  • cynhafa
  • 2011年03月15日 11:27
  • 643

Java中静态代码块

(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他...

java 学习之路——线程2(synchronized静态代码块)

实现同步方法的方式有两种:   1.用synchronized关键字修饰的方法可以实现线程的同步;   2.用synchronized代码块修饰的部分实现线程的同步。 以下为第二种方式的实现: ...

JAVA中静态代码块及对象的初始化顺序

Java中静态代码块及对象的初始化顺序。

JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块

JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名...

Java基础: 静态与动态代码块

定义:在定义属性的位置上,在任何方法之外,定义一个代码块   种类:分为两类即动态代码块、静态代码块 动态初始代码块:在初始化属性之前调用初始化代码块  {……} 静态初始代码块:在类加载时...

java基础--静态(函数、代码块)、单例设计模式、继承、final修饰符

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1、静态关键字:static    1)用法:       static是一个修饰符,用于修...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java_静态代码块
举报原因:
原因补充:

(最多只允许输入30个字)