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("这是构造方法!");
}
}
静态块优先于主方法的执行,静态块优先于构造方法的执行,而且只执行一次!
四、同步代码块
同步代码块主要出现在多线程中。例如:
class SellThread implements Runnable{
int ticket = 100;
Object obj = new Object();
public void run(){
while(true){
synchronized(obj){
if(ticket > 0){
ticket--;
}
}
}
}
}
最新文章
- .net post的参数如果出现乱码如何解决!
- OpenStack collectd的从零安装客户端
- 【CSS】Beginner5:Margins&;Padding
- WCF学习心得--客户端获取服务端自定义类数据
- WebView实现文件下载功能
- javascript 获取 class 样式 重新赋值class样式 为div等系列标签内更改内容
- 单点登录CAS使用记(五):cas-client不拦截静态资源以及无需登录的请求。
- 【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类
- hive 集成 hbase NoClassDefFoundError: org/apache/htrace/Trace
- Vue自定义标签
- angualr-cli命令创建文件
- 【XSY1476】平凡之路 斜率优化DP
- 关于用wkwebview加载沙盒documents下html文件 模拟器可以,真机不行的解决方案
- P2209 [USACO13OPEN]燃油经济性Fuel Economy
- js日常
- 2019.01.02 poj3046 Ant Counting(生成函数+dp)
- 高能天气——团队Scrum冲刺阶段-Day 2
- Android dialog 全屏
- C++ 实现的一个打印日历程序
- Ubuntu16.04安装和卸载MySQL 5.7
热门文章
- bin sh git@github.com no such file or directory
- 花瓶使用笔记 (抓数据时,记得添加host,不然抓不了包的)
- solr精确查询,查询关键字分词后,指定满足匹配所有
- oracle9i-11.2安装包及补丁包下载链接
- Unix socket的准备(一)
- django-控制mysql事物
- SQL Server实时同步更新远程数据库遇到的问题
- Java——复制txt文件
- [jOOQ中文]3. 数据库版本管理工具Flyway
- C# 之 日常问题积累