java构造化代码块 构造代码块和构造方法

Java中 , 构造代码块和构造函数有什么区别?构造代码块:是给所有java构造化代码块的对象进行初始化java构造化代码块,也就是说java构造化代码块,所有的对象都会调用一个代码块java构造化代码块,只要对象一建立,就会调用这个代码块 。
构造函数:是给与之对应的对象进行初始化,它具有针对性 。
Java的构造代码块和静态代码块的区别静态代码块在类加载时执行java构造化代码块,用于初始化类java构造化代码块的一些信息 。
构造代码块在相应构造方法被调用时执行java构造化代码块,用于对象java构造化代码块的初始化 。
java中详解静态代码块,构造代码块 , 构造方法 。求简单易懂的解释静态代码块:只要一用到某个类,那么这个类的静态代码块就先执行 , 比如:
public class Dog(){
int i = 0;
static {
i = 1;
}
public Dog(){
i = 2;
}
}当你new 一个Dog()对象时 , 首先i=
1 会执行,然后才执行
public Dog(){}这个方法 。
pulic
Dog() 是与类同名、没有返回值的方法,也就是构造方法 。
构造方法的作用是用来初始化一个对象的 。比如你可以在里面写
i
=
2;
那么当你 Dog
d
=
new
Dog()执行这段代码的时候,是这样的:
首先
i
=
;
然后执行static 静态代码块,此时i=
1;
最后执行public
Dog();
i
=
2;
Java构造函数,构造代码块和静态代码块的区别构造函数:执行时间比构造代码块时间晚,也是在对象初始化的时候运行 。没有返回值,构造函数名称和类名一致 。
构造代码块:执行时间比静态代码块晚,比构造函数早,和构造函数一样,只在对象初始化的时候运行 。没有名字、参数和返回值 。
静态代码块:最早执行,类被载入内存时执行,只执行一次 。没有名字、参数和返回值 , 有关键字static 。
静态代码块只会在类被载入内存时加载一次,是最先执行的,然后是构造代码块,最后才是构造函数 。构造代码块和构造函数都是在对象创建的时候执行,有几个对象就会执行几次 。
java构造代码块的作用是什么?//构造块:直接在类中定义且没有加static关键字的代码块称为{}构造代码块 。构造代码块在创建对象时被调用 , 每次创建对象都会被调用,并且构造代码块的执行次序优先于类构造函数 。\x0d\x0a\x0d\x0apublic class CodeBlock02\x0d\x0a{\x0d\x0a\x0d\x0a{\x0d\x0a\x0d\x0aSystem.out.println("第一代码块");\x0d\x0a\x0d\x0a}\x0d\x0a\x0d\x0apublic CodeBlock02(){\x0d\x0aSystem.out.println("构造方法");\x0d\x0a}\x0d\x0a\x0d\x0a{\x0d\x0a\x0d\x0aSystem.out.println("第二构造块");\x0d\x0a}\x0d\x0apublic static void main(String[] args){\x0d\x0anew CodeBlock02();\x0d\x0anew CodeBlock02();\x0d\x0anew CodeBlock02();\x0d\x0a\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a/**\x0d\x0a执行结果:\x0d\x0a第一代码块\x0d\x0a第二构造块\x0d\x0a构造方法\x0d\x0a第一代码块\x0d\x0a第二构造块\x0d\x0a构造方法\x0d\x0a第一代码块\x0d\x0a第二构造块\x0d\x0a构造方法*/
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 = xx; // x先使用x的值再加1;x先加1再使用x的值
}
public static void main(String[] args) {
x--;
myMethod();
System.out.println(xyx);
}
}
输出:23
【java构造化代码块 构造代码块和构造方法】java构造化代码块的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于构造代码块和构造方法、java构造化代码块的信息别忘了在本站进行查找喔 。

    推荐阅读