黑马程序员_代码块
来源:互联网 发布:ps ef grep java 编辑:程序博客网 时间:2024/06/05 00:40
------- android培训、java培训、期待与您交流! ----------
定义:代码块指的是使用"{}"括起来的一段代码,根据代码块存在的位置可以分为4种:
普通代码块;
构造代码块;
静态代码块;
同步代码块
1、普通代码块
普通代码块就是直接定义在方法或语句中定义的代码块:
public void show(){
普通代码块
}
2、构造代码块
直接写在类中的代码块:
优先于构造方法执行,每次实例化对象之前都会执行构造代码块。
Eg:
public class Demo {
{
System.out.println("我是构造代码块");
}
public Demo(){
System.out.println("我是构造方法");
}
public static void main(String[] args) {
Demo d1 = new Demo();
Demo d2 = new Demo();
}
}
3、静态代码块
使用static 修饰的构造代码块:
优先于主方法执行,优先于构造代码块执行,不管有创建多少对象,静态代码块只执行一次,可用于给静态变量赋值;
//测试各代码块的优先级
public class Demo13 {
Demo13(){
System.out.println("我是构造方法!");
}
{
System.out.println("我是构造代码块!");//实例化对象的时候才会去调用!
}
static{
System.out.println("我是静态代码块!");
}
public static void main(String[] args) {
new Demo13();
new Demo13();//再次创建对象,证明无论创建几次对象,静态代码块都只执行一次
System.out.println("我是普通代码块!");
}
}
输出:
我是静态代码块!
我是构造代码块!
我是构造方法!
我是构造代码块!
我是构造方法!
我是普通代码块!
根据以上输出结果可得:优先级顺序:静态代码块 > 构造代码块 > 普通代码块
4、同步代码块
synchronized(obj)
{
//obj表示同步监视器,是同一个同步对象
/**.....
TODO SOMETHING
*/
}
- 黑马程序员_代码块
- 黑马程序员_代码块
- 黑马程序员_静态代码块
- 黑马程序员_静态代码块
- 黑马程序员_分类协议代码块
- 黑马程序员_笔迹八_关于代码块
- 黑马程序员--代码块
- 黑马程序员_构造函数与构造代码块
- 黑马程序员_关于java中代码块的问题
- 黑马程序员_工具使用03_Xcode自定义代码块
- 黑马程序员_对象,构造函数以及构造代码块
- 黑马程序员_同步代码块(二)
- 黑马程序员_静态代码块、构造代码块、构造函数
- 黑马程序员 静态代码块
- 黑马程序员--代码块学习
- 黑马程序员_java入门_帮助文档的制作和静态代码块
- 黑马程序员_同步代码块的作用(synchronized关键字)
- 黑马程序员_<<面向对象(对象,封装,satic,构造函数,代码块,this)---01>>
- Benchmark库的建立06:变量溢出 Bug
- 19. Remove Nth Node From End of List
- 常用人脸库
- 网络请求设置 && arc&mrc互转
- 可能是最鸡汤的面经
- 黑马程序员_代码块
- Python中用feedparser解析RSS
- 文本挖掘之降维技术之特征选择
- 2015年9月——2016年2月半年总结
- App集成ApplePay
- 数组和指针的区别
- Eclipse运行时提示“Failed to load the JNI shared library /Java/jre6/bin/client/jvm.dll”的一个解决方案
- Android Studio常用插件
- App Extensions 打开 app