java中的代码块理解
代码块:就是用{}括起来到部分。根据应用的不同分为4类:普通代码块、构造块、静态代码块、同步代码块。
1.普通代码块:定义在方法中的代码块。
如:
public class Ex22 {
public static void main(String[] args){
// 普通代码块
{
int i = 3;
System.out.println("局部变量为 " + i);
}
int i = 5;
System.out.println("相对上面的 i 来说是全局的变量 " + i);
}
}
//局部变量为 3
//相对上面的 i 来说是全局的变量 5
2.构造块:直接在类中编写的代码块。
class Demo5{
{
System.out.println("构造块");
}
public Demo5(){
System.out.println("构造方法");
}
{
System.out.println("构造方法后的构造块");
}
}
public class Ex22 {
public static void main(String[] args){
new Demo5();
new Demo5();
}
}
//构造块
//构造方法后的构造块
//构造方法
//构造块
//构造方法后的构造块
//构造方法
对象被实例化一次构造块就执行一次;
构造块优先执行比构造方法.
3.静态代码块:static 关键字声明的代码块.
class Demo5{
{
System.out.println("1构造块");
}
public Demo5(){
System.out.println("2构造方法");
}
{
System.out.println("3构造方法后的构造块");
}
static {
System.out.println("4静态代码块");
}
}
public class Ex22 {
static {
System.out.println("在主方法类中定义的代码块");
}
public static void main(String[] args){
new Demo5();
new Demo5();
}
}
//在主方法类中定义的代码块
//4静态代码块
//1构造块
//3构造方法后的构造块
//2构造方法
//1构造块
//3构造方法后的构造块
//2构造方法
主方法静态代码块优先于主方法,
在普通类中静态块优先于构造块,
在普通类中构造块优先于构造方法,
静态块只实例化一次。
相关文档:
一些初学JAVA的朋友可能会遇到JAVA的数据类型之间转换的苦恼,例如,整数和float,double型之间的转换,整数和String类型之间的转换,以及处理、显示时间方面的问题等。下面笔者就开发中的一些体会介绍给大家。
我们知道,Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对 ......
设计模式在粒度和抽象层次上各不相同。由于存在众多的设计模式,所以我们可以用一种方式将它们组织起来。这里,我们根据两条准则对模式进行分类,如下表所示:
第一是目的准则,即模式是用来完成什么工作的。模式依据其目的可分为创建型( Creational)、结构型( Structural)、或行为型( Behavioral )三种。创建型模式与对 ......
数据库部分:
1.举例说明Dynamic SQL的原理及应用?
2.举例说明数据库索引的优缺点?
3.如果由你来设计数据的rollback,你的思路和方案?
4.假设有一个table,名为pages,有四个字段,id ,url,title,body。里面储了很多网页,网页的url地址,title和网页内容,用一个
sql查询将url匹配的排在最前面,title匹配的在其次,b ......
多线程是这样一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单。
一:理解多线程
& ......