java中的代码块总结

来源:互联网 发布:ubuntu 命令行 编辑:程序博客网 时间:2024/06/06 02:36


在java中用{}表示代码块,有如下四种

1.普通代码块,用{}表示,写在方法中.在代码块中定义的变量只在代码块的作用域中有效.

 public static void main(String[] args)       {       {              int x=1;       System.out.println(x);       }       int x=2;       System.out.println(x);       }

这两个x是不冲突的.输出结果为  1    2.

2.构造代码块{}写在类的成员位置,用来给所有的对象统一初始化,优先于构造函数执行.

每次new一个对象,构造代码块都会自动执行一次,然后再去调用对应的构造函数.


3.静态代码块static {} 写在类的成员位置,

优先于main函数执行.

优先于所有代码块执行,.并且只执行一次.

与静态方法的区别:

静态代码块是自动执行的. 

而静态方法需要用类名调用,是被动执行的.


4.同步代码synchronized (obj){},不可以写在类的成员位置,只能写在方法中.需要传入参数,Object,作为锁.在多线程的情况下,只有使用相同的Object作为锁才可以达到同步的目的.

原创粉丝点击