扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
java逻辑代码块是指使用{}大括号内的代码片段,为了实现某种逻辑和主类区分开来的一段代码。分为静态代码块、普通代码块,示例如下:
创新互联建站自2013年起,先为辉南等服务建站,辉南等地企业,进行企业商务咨询服务。为辉南企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
/**
* 静态代码块先于构造器执行氏行 普通块先于构造块 只执行一次
* 凡是静态的与对腔核悔象无关,先于对象存在的; 凡是静态的都是共享的
*
*/
public class Test {
static {//静态代码块
System.out.println("static");
}
{
System.out.println("普通块2");
}
public Test() {
System.out.println("伍正构造器");
}
static{...}是静态块,而只有{...}的是叫做构造块。
静指饥岩态块在一个程序里面只执行一次;
而构造块是,只要建立一个对象,构造代码块都会执行一次。
静态块优先于主方法的执行,静态块优先于构造肢弯快,然后是构造方法的执行,而且只执行一次!
所唯御以输出结果是:
static
block
instance1
block
instance2
1. 局部代码块
作用在方法当中,作用是控制变量的生命周期:
public void show(){
{
System.out.println("局部代码块运行!");
}
}123456
在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间。因此就有了局部代码块。
2. 构造代码块
作用在类的定义Body中,作用是给类的部分字段统一初始化:
public class Apple {
private String size;
//构造代码块
{
System.out.println("构造代码块运行!");
size = "E";
}
}
12345678910
构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不闷磨隐同对象共性的初始化内容。所以理所当然的,构造代码块在构造蚂厅函数之前执行。
3. 静态代码块
作用有两个:
(1)给类的静态变量赋值;
(2)声明静态变量;
作用在类的Body中,对类中的静态变量初始化:
public class APP {
static int x, y; // 静态变量
static {
x = 5; // 给静态变量x赋值
}
public static void myMethod() {
y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的游简值
}
public static void main(String[] args) {
x--;
myMethod();
System.out.println(x + y + ++x);
}
}
输出:23
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流