黑马程序员——java小结_008 _代码块的优先级
2014-09-13 04:14
232 查看
-------
android培训、java培训、期待与您交流! ----------
程序执行的时候是有顺序的,那么就代码块来说有:静态代码块,构造代码块,普通代码块和同步代码块四种。
初接触的时候会经常弄不清到底谁先执行,咱来是一下就知道了。
先来说明一下个代码块:
1)普通代码块:
普通代码块就是直接定义在方法或语句中定义的代码块:
public voidshow(){
普通代码块
}
2)构造代码块:
直接写在类中的代码块:
优先于构造方法执行,每次实例化对象之前都会执行构造代码块。
publicclass Demo {
{
System.out.println("构造代码块");
}
public Demo(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Demod1 = new Demo();
Demod2 = new Demo();
}
}
3)静态代码块
使用static 修饰的构造代码块:
特别强调一点:静态代码块优先于主方法执行,优先于构造代码块执行,不管有创建多少对象,静态代码块只执行一次。
那么上程序:
输出:
静态代码块!
构造代码块!
构造方法!
构造代码块!
构造方法!
普通代码块!
-------
android培训、java培训、期待与您交流! ----------
结果:优先级顺序:静态代码块 > 构造代码块 > 普通代码块
android培训、java培训、期待与您交流! ----------
程序执行的时候是有顺序的,那么就代码块来说有:静态代码块,构造代码块,普通代码块和同步代码块四种。
初接触的时候会经常弄不清到底谁先执行,咱来是一下就知道了。
先来说明一下个代码块:
1)普通代码块:
普通代码块就是直接定义在方法或语句中定义的代码块:
public voidshow(){
普通代码块
}
2)构造代码块:
直接写在类中的代码块:
优先于构造方法执行,每次实例化对象之前都会执行构造代码块。
publicclass Demo {
{
System.out.println("构造代码块");
}
public Demo(){
System.out.println("构造方法");
}
public static void main(String[] args) {
Demod1 = new Demo();
Demod2 = new Demo();
}
}
3)静态代码块
使用static 修饰的构造代码块:
特别强调一点:静态代码块优先于主方法执行,优先于构造代码块执行,不管有创建多少对象,静态代码块只执行一次。
那么上程序:
<span style="font-size:18px;">public class Demo { Demo(){ System.out.println("构造方法!"); } { System.out.println("构造代码块!");//实例化对象的时候才会去调用! } static{ System.out.println("静态代码块!"); } public static void main(String[] args) { new Demo(); new Demo();//再次创建对象,证明无论创建几次对象,静态代码块都只执行一次 System.out.println("普通代码块!"); } }</span>
输出:
静态代码块!
构造代码块!
构造方法!
构造代码块!
构造方法!
普通代码块!
-------
android培训、java培训、期待与您交流! ----------
结果:优先级顺序:静态代码块 > 构造代码块 > 普通代码块
相关文章推荐
- 黑马程序员JAVA 001---008 小结
- 008Java知识点小结--静态变量、代码块
- 黑马程序员_Java基础_面向对象(概述、类与对象关系、成员变量、封装private、构造函数和构造代码块、this关键字)
- 黑马程序员----JAVA----基础小结----
- 黑马程序员——java基础之内部类小结
- 黑马程序员:Java之介绍对象、封装、构造函数、构造代码块及this关键字
- 黑马程序员 java基础--》 if语句与switch语句 小结
- 黑马程序员——Java的IO流小结
- 黑马程序员_Java编程基础知识点小结
- 黑马程序员——java基础小结
- 黑马程序员--Java基础小结(一)
- 黑马程序员_java基础学习笔记之(构造函数&构造代码块&静态代码块)的区别
- 黑马程序员----JAVA ----基础小结----
- 黑马程序员----JAVA----IO小结(2)
- 黑马程序员----JAVA----IO小结(1)
- 黑马程序员:Java基础总结----java各代码块函数执行顺序
- Java静态代码块与spring注解注入的优先级问题
- 黑马程序员----JAVA----集合小结(Set)
- 奋斗黑马程序员----Java之泛型小结
- 黑马程序员--03.Java面向对象--03.【工具类】【静态代码块】