学习笔记——代码块(普通、构造、静态、同步)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_45176509/article/details/102690877

定义:在程序中,使用{ }定义的内容结构称为代码块。


普通代码块


普通代码块主要特点是定义在一个方法中的代码块。
按照Java开发规定,相同名称变量不能在同一个方法中出现。全局变量和局部变量相对而言,与范围有关。

例子:普通代码块
public class Java{
public static void main(String args[]){
{
int x=10;
System.out.println(“x=”+x);
}
int x=100;
System.out.println(“x=”+x);
}
}

输出结果:
x=10
x=100
普通代码块主要特征为可以在一个方法中进行拆分,防止变量相互影响。


构造代码块


构造块是定义在一个类之中的。
例子:观察构造块
class A{
public A(){
System.out.println("【构造方法】执行");
}
{
System.out.println("【构造块】执行");
}
}
public class Java{
public static void main(String args[]){
A a=new A();
A b=new A();
}
}
输出结果:
【构造块】执行
【构造方法】执行
【构造块】执行
【构造方法】执行
构造块在构造方法之前执行。每一次实例化新对象都会调用构造块代码。


静态代码块

静态代码块主要是指static关键字定义的代码块
静态块的定义需要考虑两点:
·主类定义静态块
·非主类定义静态块
例子:
class A{
public A(){
System.out.println("【构造方法】执行");
}
static{
System.out.println("【静态块】执行");
}
{
System.out.println("【构造块】执行");
}
}
public class Java{
public static void main(String args[]){
A a=new A();
A b=new A();
}
}
输出结果:
【静态块】执行
【构造块】执行
【构造方法】执行
【构造块】执行
【构造方法】执行
此时可以发现静态块优先于构造块执行,不管多少次实例化对象出现,静态代码块只执行一次,静态代码块主要目的是为了类中静态属性初始化.


同步代码块


猜你喜欢

转载自blog.csdn.net/weixin_45176509/article/details/102690877