您的位置:首頁技術文章
文章詳情頁

Java構造代碼塊,靜態代碼塊原理與用法實例分析

瀏覽:99日期:2022-09-02 18:18:20

本文實例講述了Java構造代碼塊,靜態代碼塊原理與用法。分享給大家供大家參考,具體如下:

本文內容: 局部代碼塊 構造代碼塊 靜態代碼塊 補充

首發日期:2018-03-28

局部代碼塊:

局部代碼塊用于限制變量的生命周期,如果希望某些變量在某一過程之后直接失效而不希望被后面繼續操作時,可以使用局部變量來限制變量的生命周期帶局部代碼塊中

構造代碼塊: 構造函數只對對應的對象進行初始化,構造代碼塊給類的所有對象進行初始化。 由于構造代碼塊給類的所有對象進行初始化,所以對于每個對象都要初始化成一樣值的變量,可以防止構造代碼塊中初始化。

class Person{ String gender; int age; { //構造代碼塊 System.out.println('構造代碼塊運行階段'); gender='男'; } Person(){//構造函數 System.out.println('構造函數Person()運行階段'); } Person(int age){//構造函數 System.out.println('構造函數Person(int age)運行階段'); this.age=age; } }public class Demo { public static void main(String[] args) { Person p1=new Person(); System.out.println(p1.gender); Person p2=new Person(18); System.out.println(p2.gender); }}

上述代碼結果:

構造代碼塊運行階段構造函數Person()運行階段男構造代碼塊運行階段構造函數Person(int age)運行階段男構造代碼塊的好處的例子:

構造函數版本:

Java構造代碼塊,靜態代碼塊原理與用法實例分析

構造代碼塊版本:

Java構造代碼塊,靜態代碼塊原理與用法實例分析

靜態代碼塊: 靜態代碼塊與構造代碼塊不同的是,它只執行一次,用于對整個類進行初始化,通常是對類變量進行初始化處理。 靜態代碼塊中只能修改類變量。 靜態代碼塊的執行比主函數要早。 有時候因為靜態代碼塊只執行一次。所以有時候會用來“顯示程序流程”。

class Person{ static String gender; int age; static { System.out.println('靜態代碼塊執行完成'); gender='男';//更改的變量只能是類變量 } Person(){//構造函數 System.out.println('構造函數Person()運行階段'); } Person(int age){//構造函數 System.out.println('構造函數Person(int age)運行階段'); this.age=age; }}public class Demo { public static void main(String[] args) { Person p1=new Person(); System.out.println(p1.gender); Person p2=new Person(18); System.out.println(p2.gender); }}

上述代碼執行結果:

靜態代碼塊執行完成構造函數Person()運行階段男構造函數Person(int age)運行階段男補充: 各個初始化塊的運行順序:靜態代碼塊-》構造代碼塊-》構造方法

更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》

希望本文所述對大家java程序設計有所幫助。

標簽: Java
国产综合久久一区二区三区