2011-05-03 31 views
0

爲什麼我不能在構造函數中使用靜態變量作爲變量修飾符,並且會爲例如構造函數的最終工作例如在我的代碼中,我想將變量初始化爲15的常量,以便在構造函數創建時在主程序中構造函數中的變量修飾符

public class RegularProcedure { 
     // the duration period of a regular procedure is 15 
    int []procedure; 


    public RegularProcedure(int t){ 
     final int times=15; 
     procedure=new int[times]; 
     for(int i=0; i <procedure.length;i++){ 
      procedure[i]=i; 
     } 
    } 
} 

回答

0

因爲構造函數是用來處理對象的,例如它會根據類藍圖創建一個對象。靜態變量屬於類本身,因此它們必須處於Class級別。

並沒有最後不會奏效。這只是表示參考在分配後不能更改。

+0

非常感謝您的幫助 – logic101 2011-05-03 13:50:28

0

你在const中聲明瞭什麼。只會在區塊(本地)內。

static,就是要在帶班

1

times關聯的類層次是局部變量和static不爲局部變量意義。

您可以將static final int TIMES = 15放在procedure的定義的上方(或下方),它會工作得很好。這是在Java中定義常量的常用習慣用法。

相關問題