Java中的代码块
代码块
- 普通代码块
- 构造代码块
- 静态块
- 同步代码块
普通代码块
为了在方法里面编写过多的变量,防止变量重复,可以用代码块进行隔离。
|
package org.lyk.main; public class Main { public static void main(String[] args) { { int num = 3; System.out.println(num); } int num = 3; System.out.println(num); } } |
构造代码块
如果现在将一个代码块写在了一个类里面,那么该代码块成为构造块。
- 构造块优先于构造方法执行
- 如果产生多次对象,那么构造块代码每次都会执行
- 一般说来,构造块无实际意义
|
package org.lyk.entities; public class Book { private String title; private float price; public Book(String title, float price) { super(); this.title = title; this.price = price; System.out.println("2.构造方法"); } { System.out.println("1. 构造块"); } } |
静态块
如果一个代码块使用了static进行修饰的话,那么就成为静态块。
静态块的使用分为两类:
在非主类使用
静态块优先于构造块执行,不管有多少个实例化对象,静态块只执行一次。其作用是为类中的static变量初始化。
|
package org.lyk.entities; public class Book { static int totalCount ; private String title; private float price; public Book(String title, float price) { super(); this.title = title; this.price = price; System.out.println("2.构造方法"); } static { System.out.println("1. 静态块"); totalCount=0; } } |
主类中使用
静态块将优先于主方法执行。
|
package org.lyk.main; public class Main { static { System.out.println("主方法中的静态块"); } public static void main(String[] args) { System.out.println("主方法"); } } |
总结:
代码块在开发中能不用就别用。但如果非要使用,那么唯一好用的就是静态块。
Java中的代码块的更多相关文章
- 【Java基础】2、Java中普通代码块,构造代码块,静态代码块区别及代码示例
Java中普通代码块,构造代码块,静态代码块区别及代码示例.Java中普通代码块,构造代码块,静态代码块区别及代码示例 执行顺序:静态代码块>静态方法(main方法)>构造代码块>构 ...
- Java 中静态代码块初始化问题测试
Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
- Java中普通代码块,构造代码块,静态代码块执行顺序
//执行顺序:(优先级从高到低.)静态代码块>mian方法>构造代码块>构造方法. 其中静态代码块只执行一次.构造代码块在每次创建对象是都会执行. 1 普通代码块 1 //普通代码块 ...
- (转)java中静态代码块的用法 static用法详解
一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来 ...
- java中静态代码块的用法 static用法详解(转)
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序 ...
- java中的代码块执行顺序
/* 代码块:在Java中,使用{}括起来的代码被称为代码块. 根据其位置和声明的不同,可以分为 局部代码块:局部位置,用于限定变量的生命周期. 构造代码块:在类中的成员位置,用{}括起来的代码.每次 ...
- 关于java中普通代码块、构造代码块与静态代码块
1.普通代码块 public static void main(String[] args) { /*普通代码块: *直接定义在在方法或语句中出现”{普通代码的执行语句}“的就称为普通代码块. *普通 ...
- 【转】java中静态代码块的用法 static用法详解
原文网址:http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html (一)java 静态代码块 静态方法区别一般情况下,如 ...
- 【Java基础】Java中的代码块
什么是代码块 在Java中,用{}括起来的代码称之为代码块. 代码块分类 局部代码块:在局部变量位置且用{}括起来的代码,用于限制局部变量的生命周期. 构造代码块:在类中的成员变量位置并用{}括起来的 ...
随机推荐
- EDIUS和会声会影的区别
最近经常听到大家讨论会声会影和EDIUS哪个好,有人说会声会影就相当于傻瓜相机,EDIUS相当于手动的相机:也有人说拍着玩的,简单玩玩的用会声会影,做出来画面很绚丽:剪辑片子,特效合成专业的就用EDI ...
- sql server 移动表到文件组
存储过程如下: USE [SCC_Test_FileGroupAndIndex] GO /****** Object: StoredProcedure [dbo].[sp_MoveTable] ...
- HTTP 无法注册 URL http://+:9999/CalculatorService/。进程不具有此命名空间的访问权限
转自:http://www.cnblogs.com/flyher/archive/2013/06/28/3161170.html 写WCF时在 1 host.Open(); 报错:HTTP 无法注册 ...
- Why doesn't Genymotion run on Windows 10?
To date, VirtualBox is not yet fully compatible with Windows 10. As Genymotion relies on the use of ...
- asp.net mvc 页面传值的方法总结
转自:http://msprogrammer.serviciipeweb.ro/2012/01/15/usual-methods-to-transfer-data-from-page-to-page- ...
- 【设计模式】单件模式(Singleton)--各类单件模式的比较
单件模式 确保一个类只有一个实例,并提供一个安全的访问点. 线程安全+延时初始化+高性能(使用:延时初始化占位符模式) ------测试----------- 线程安全+[非]延时初始化 线程安全+延 ...
- memcache 永久数据被踢
1.memcache的slab chunk 就像公交车的坐位一样,有大小之分,还有活跃的状态. 2.代码 index.php -->插入数据,注意$value的大小和重复次数,跟chunk和其数 ...
- 黄聪:VS2010每次F5启动都重新编译但是没办法进入断点
这个问题主要是没有把Debug和Realse的生成配置勾上:
- IGS_学习笔记06_IREP发布客户化集成接口为Web Service(案例)
2015-01-03 Created By BaoXinjian
- HDU Count the string+Next数组测试函数
链接:http://www.cnblogs.com/jackge/archive/2013/04/20/3032942.html 题意:给定一字符串,求它所有的前缀出现的次数的和.这题很纠结,一开始不 ...