java_静态代码块

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

静态代码块:

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

但是有什么区别了?

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

运行结果如下:

    

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

运行结果如下:

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

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

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

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

运行结果:

       

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

 运行结果:




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

相关文章推荐

Java中静态代码块

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

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...

java中类/对象的初始化顺序以及静态代码块的使用

一、对象的初始化顺序:(java类加载器加载类的顺序:) (1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的)   1.为父类的静态属性分配空间并赋于初值   1.执...

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

http://blog.sina.com.cn/s/blog_49cc672f0100f8f2.html 先看看下面几个类,然后判断它们的输出public class A {    static{  ...

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

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

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

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

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

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

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

JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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