標籤:public size 靜態代碼塊 out 初始化 ffffff name str person
代碼塊
局部代碼塊
局部代碼塊是定義在方法或語句中
特點:
以”{}”劃定的代碼地區,此時只需要關注範圍的不同即可
方法和類都是以代碼塊的方式劃定邊界的
class Demo{
public static void main(String[] args){
{
int x = 1;
System.out.println("普通代碼塊" + x);
}
int x = 99;
System.out.println("代碼塊之外" + x);
}
}
結果:
普通代碼塊1
代碼塊之外99
構造代碼塊
構造代碼塊是定義在類中成員位置的代碼塊
特點:
優先於構造方法執行,構造代碼塊用於執行所有對象均需要的初始化動作
每建立一個對象均會執行一次構造代碼塊。
public class Person {
private String name;
private int age;
//構造代碼塊
{
System.out.println("構造代碼塊執行了");
}
Person(){
System.out.println("Person無參數的建構函式執行");
}
Person(int age){
this.age = age;
System.out.println("Person(age)參數的建構函式執行");
}
}
class PersonDemo{
public static void main(String[] args){
Person p = new Person();
Person p1 = new Person(23);
}
}
靜態代碼塊
靜態代碼塊是定義在成員位置,使用static修飾的代碼塊。
特點:
它優先於主方法執行、優先於構造代碼塊執行,當以任意形式第一次使用到該類時執行。
該類不管建立多少對象,靜態代碼塊只執行一次。
可用於給靜態變數賦值,用來給類進行初始化。
public class Person {
private String name;
private int age;
//靜態代碼塊
static{
System.out.println("靜態代碼塊執行了");
}
}
java -> 代碼塊