型別 識別符號 = 初始值;ex: int age = 20;
final 型別 識別符號 = 初始值類中有幾種變數,分別是區域性變數,成員變數(也稱為例項變數),類變數(也稱為靜態變數).ex: final int age = 10;
其中,區域性變數是定義在方法中的變數,
成員變數是在方法外而在類宣告內定義的變數,
類變數是用關鍵字static宣告的例項變數,他們的生存期分別為:
1 . 區域性變數在定義該變數的方法被呼叫時被建立,而在方法退出後被撤銷
2 . 成員變數是在使用new ***x()建立該類的例項時被建立,而其生存期和該類的例項物件的生存期相同
3 . 類變數在該類被載入的時候被建立,不一定要用new ***x()建立,所用該類的例項物件共享該類變數,其生存期是類的生存期
注意:任何變數在使用前都必須初始化
但是需要指出的是區域性變數必須顯式初始化(不然會引起nullpointexception),而例項變數不需要
會在該類的構造方法被呼叫時為它分配預設值,類變數和例項變數差不多,但是類變數的初始化發生在類被載入的時候
原因是:在類的靜態方法中不能直接訪問類的非靜態成員,
注意:所以類的普通方法可以訪問類的所有成員和方法
而靜態方法只能訪問類的靜態成員和方法
因為靜態方法屬於類,而普通方法及成員變數屬於類的例項
類方法(靜態)不能使用屬於某乙個不確定類的例項方法和變數,在靜態方法裡沒有隱含的this,而普通方法裡面有
若想要正確的執行,需要加static
分析下列**塊出現的結果
因為在name靜態方法中,x++進行運算時,改變的是name靜態方法裡面的形式引數x,所以在main方法中,只能呼叫靜態變數x
但是如果改變name靜態方法裡的形式引數,name結果就會很不一樣
因為在name靜態方法中,x++是針對靜態變數x操作的,而不是形式引數y,所以x的值就發生了變化
Java面試題(一)
1 1 2 3 100構建乙個函式。答案 public int sum int n 2 描述冒泡演算法。答案 基本思路 對尚未排序的各元素從頭到尾依次比較相鄰的兩個元素是否逆序 與欲排順序相反 若逆序就交換這兩元素,經過第一輪比較排序後便可把最大 或最小 的元素排好,然後再用同樣的方法把剩下的元素逐...
JAVA基礎面試題(1)
1 所有的類都繼承於object類,其直接子類有boolean void character class compiler math number runtime stringbuffer stringbuilder system thread等等 其常用的方法有 tostring hashcode...
整理一些java基礎面試題
1 請說出下面程式的輸出。class stringequaltest 執行結果 falsetruetrue補充 string物件的intern方法會得到字串物件在常量池中對應的版本的引用 如果常量池中有乙個字串與string物件的equals結果是true 如果常量池中沒有對應的字串,則該字串將被新...