代码块可分为普通代码块,构造块,静态块。
1、普通代码块
直接写在方法中的代码块就是普通代码块,作用域只在最近的花括号({})内。
示例:
public class Demo1{
public static void main(String[] args){
{//普通代码块
String info = "局部变量-1";
System.out.println(info);
}
String info = "局部变量-2";
System.out.println(info);
}
}
2、构造块
构造块是在类中定义的代码块,构造块比构造方法先于执行。
构造块只是在构造对象的时候才会执行。
示例:
class Demo{
{ //构造块
System.out.println("构造块");
}
public Demo(){
System.out.println("构造方法。");
}
}
3、静态块
在类中使用static声明的代码块称为静态代码块,静态块先于构造块执行。
在类加载时执行,只执行一次。
示例:
class Demo{
{
System.out.println("构造块");
}
static{
System.out.println("静态代码块");
}
public Demo(){
System.out.println("构造方法。");
}
}
/**
代码块
1、普通代码块
2、构造块
3、静态块
*/
public class CodeDemo{
//构造块
{
System.out.println("我是构造块");
}
public CodeDemo(){
System.out.println("我是构造方法。");
}
//静态块
static{
System.out.println("我是静态块");
}
public static void main(String[] args){
CodeDemo cd1 = new CodeDemo();
CodeDemo cd2 = new CodeDemo();
//普通代码块
{
String info = "学习就像找对象,有feel就要上";
System.out.println(info);
//此花括号{}里面的变量作用域范围值在花括号里面,为局部变量
}
String info = "学习就像找对象,最重要的是胆大,心细,脸皮厚";
System.out.println(info);
}
}