静态代码块、构造代码块与构造函数的区别
2017-07-06 15:32
253 查看
?
输出顺序:
2
3
a =110, b=0
1
4
构造代码块优先构造方法执行
静态块优先于构造方法的执行
执行顺序:静态代码>构造代码块>构造函数
但是由于 static StaticTest st = new StaticTest(); 的存在 , 导致先构造块,构造函数,然后向后执行
所以,先2,再3,再1,再4
因为b定义在下,对于静态 基本类型int默认为0.(包括未赋值的情况下都为0)
[java] view
plain copy
print?
public class Dev {
static {
System.out.println("静态代码块");
}
{
System.out.println("构造代码块");
}
public Dev() {
System.out.println("我是一个无参构造方法");
}
public Dev(String name) {
System.out.println("我是带有一个参数的构造方法");
}
}
1. 这段代码的执行顺序:静态代码块会先执行,并且只执行一次,接着是构造代码块执行(构造代码块在构造方法之前执行,并且每创建一次对象,它就会执行一次。而构造方法只执行一次。)
2. 静态代码块的作用:比如我们在调用C语言的动态库时会可把.so
文件放在此处。
3. 构造代码块的功能:(可以把不同构造方法中相同的共性的东西写在它里面)。例如:比如不论任何机型的电脑都有开机这个功能,此时我们就可以把这个功能定义 在构造代码块内。
2
3
a =110, b=0
1
4
构造代码块优先构造方法执行
静态块优先于构造方法的执行
执行顺序:静态代码>构造代码块>构造函数
但是由于 static StaticTest st = new StaticTest(); 的存在 , 导致先构造块,构造函数,然后向后执行
所以,先2,再3,再1,再4
因为b定义在下,对于静态 基本类型int默认为0.(包括未赋值的情况下都为0)
[java] view
plain copy
print?
public class Dev {
static {
System.out.println("静态代码块");
}
{
System.out.println("构造代码块");
}
public Dev() {
System.out.println("我是一个无参构造方法");
}
public Dev(String name) {
System.out.println("我是带有一个参数的构造方法");
}
}
1. 这段代码的执行顺序:静态代码块会先执行,并且只执行一次,接着是构造代码块执行(构造代码块在构造方法之前执行,并且每创建一次对象,它就会执行一次。而构造方法只执行一次。)
2. 静态代码块的作用:比如我们在调用C语言的动态库时会可把.so
文件放在此处。
3. 构造代码块的功能:(可以把不同构造方法中相同的共性的东西写在它里面)。例如:比如不论任何机型的电脑都有开机这个功能,此时我们就可以把这个功能定义 在构造代码块内。
相关文章推荐
- 【java基础】 静态 关键字 static(构造函数、构造代码块、静态代码块的区别)
- 面向对象及构造代码块、静态代码块、构造函数的区别
- 静态代码块 构造代码块 构造函数 区别
- Java中普通代码块,构造代码块,构造函数,静态代码块区别
- 5.1JAVA基础复习——JAVA中的静态代码块、构造代码块、构造函数、局部代码块区别
- 黑马程序员——构造函数,构造代码块,静态代码块的区别
- 静态代码块,构造代码块和构造函数的区别
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- 当包含 静态代码块 构造代码块 构造函数 运行先后顺序
- 黑马程序员—— 4,二维数组,面向对象,制作帮助文档,静态代码块,构造代码块,构造函数,单例设计模式
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- java 中的构造代码块和构造函数以及静态代码块
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- java中的静态代码块、构造代码块和构造函数
- 黑马程序员-面向对象(构造函数、构造代码块、静态代码块)
- Java中普通代码块,构造代码块,静态代码块区别及代码示例2 构造代码块
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- Java中普通代码块,构造代码块,静态代码块区别及代码示例