java构造代码块实例 java快速生成构造函数

java构造代码块的作用是什么?

//构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块。构造代码块在创建对象时被调用,每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数。

创新互联公司专注于湄潭企业网站建设,自适应网站建设,商城网站建设。湄潭网站建设公司,为湄潭等地区提供建站服务。全流程定制设计,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务

public class CodeBlock02

{

{

System.out.println("第一代码块");

}

public CodeBlock02(){

System.out.println("构造方法");

}

{

System.out.println("第二构造块");

}

public static void main(String[] args){

new CodeBlock02();

new CodeBlock02();

new CodeBlock02();

}

}

/**

执行结果:

第一代码块

第二构造块

构造方法

第一代码块

第二构造块

构造方法

第一代码块

第二构造块

构造方法*/

Java常见代码块的作用与区别

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

java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有什么作用呢

先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。所以静态代码块、代码块、构造器的执行顺序是:静态代码块→代码块→构造器。

再说作用:静态代码块是用于初始化类的(在加载类时执行,只执行一次),代码块是用于初始化对象的(在创建对象时执行,每次创建对象时都执行),构造器是用于创建对象的。

java 方法 中 { } 括起来的代码 有什么特别?

一、普通代码块

直接在一个方法中出现的{}就称为普通代码块,例子程序如下:

public class CodeDemo01{

public static void main(String[] args){

//普通代码块

{

int x = 10;

System.out.println("x=" + x);

}

int x = 100;

System.out.println("x=" + x);

}

}

二、构造代码块

直接在类中定义的没有加static关键字的代码块{}称为构造代码块,例子程序如下:

public class CodeDemo02{

public CodeDemo02(){

System.out.println("========这是构造方法=========");

}

//这是构造代码块,而且在new对象时,构造代码块优先构造方法执行

{

System.out.println("=========这是构造块!=========");

}

public static void main(String[] args){

new CodeDemo02();

new CodeDemo02();

}

}

三、静态代码块

使用static关键字声明的代码块称为静态代码块,静态块的主要目的是用来为静态属性初始化,例子程序如下:

public class CodeDemo03

{

static{

System.out.println("这是主类中的静态代码块!");

}

public static void main(String[] args){

new Demo();

new Demo();

new Demo();

}

}

class Demo

{

static{

System.out.println("这是Demo类中的静态代码块!");

}

{

System.out.println("这是Demo类中的构造块!");

}

public Demo(){

System.out.println("这是构造方法!");

}

}

静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次!

四、同步代码块

同步代码块主要出现在多线程中。


网站栏目:java构造代码块实例 java快速生成构造函数
转载来源:http://pwwzsj.com/article/ddiosch.html