Java程式基礎面試題 一

2021-08-04 02:08:27 字數 1393 閱讀 4538

型別 識別符號 = 初始值;

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 如果常量池中沒有對應的字串,則該字串將被新...