java構造代碼塊,構造函數和普通函數的區別和調用時間


在這里我們談論一下構造代碼塊,構造函數和普通函數的區別和調用時間。
構造代碼塊:最早運行,比構造函數運行的時間好要提前,和構造函數一樣,只在對象初始化的時候運行。
構造函數:運行時間比構造代碼塊時間晚,也是在對象初始化的時候運行。沒有返回值,構造函數名稱和類名一致。
普通函數:不能自動調用,需要對象來調用,例如a.add();
如果只看代碼運行先后順序的話:構造代碼塊>構造函數>普通函數
下面給一個程序

 1 public  class Test1 {
 2 
 3     public static void main(String[] args) {
 4         code n=new code();
 5         n.normal();
 6         
 7     }
 8 }
 9 class code{
10     //構造代碼塊1:
11     {
12         System.out.println("我是構造代碼塊1");
13     }
14     //構造函數1
15     public code(){
16         System.out.println("我是構造函數1");
17     }
18     //構造函數2
19     public code(int t){
20         System.out.println("我是構造函數2"+t);
21     }
22     //普通函數
23     public void normal(){
24         System.out.println("我是普通函數");
25     }
26     //構造代碼塊2:
27         {
28             System.out.println("我是構造代碼塊2");
29         }
30 }

 

運行結果:


通過上面的程序運行結果,我們可以看出,不管構造代碼塊是在構造函數之后還是在構造函數之前,都是先運行構造代碼塊
然后在運行構造函數。構造函數通過重載,有兩種初始化方式,一種是沒有參數的,一種是有參數的。
如果不調用普通函數,普通函數是不能執行的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM