更新時間:2023-01-30 16:49:08 來源:動力節(jié)點 瀏覽1407次
1.成員變量與局部變量的區(qū)別有那些?
從語法形式上,看成員變量是屬于類的,而局部變量是在方法中定義的變量或是方法的參數(shù);成員變量可以被public,private,static等修飾符所修飾,而局部變量不能被訪問控制修飾符及static所修飾;成員變量和局部變量都能被final所修飾;
從變量在內存中的存儲方式來看,成員變量是對象的一部分,而對象存在于堆內存,局部變量存在于棧內存
從變量在內存中的生存時間上看,成員變量是對象的一部分,它隨著對象的創(chuàng)建而存在,而局部變量隨著方法的調用而自動消失。
成員變量如果沒有被賦初值,則會自動以類型的默認值而賦值(一種情況例外被final修飾但沒有被static修飾的成員變量必須顯示地賦值);而局部變量則不會自動賦值。
2.創(chuàng)建一個對象用什么運算符?對象實體與對象引用有何不同?
new運算符,new創(chuàng)建對象實例(對象實例在堆內存中),對象引用指向對象實例(對象引用存放在棧內存中)。一個對象引用可以指向0個或1個對象(一根繩子可以不系氣球,也可以系一個氣球);一個對象可以有n個引用指向它(可以用n條繩子系住一個氣球)
3.什么是方法的返回值?返回值在類的方法里的作用是什么?
方法的返回值是指我們獲取到的某個方法體中的代碼執(zhí)行后產生的結果!(前提是該方法可能產生結果)。返回值的作用:接收出結果,使得它可以用于其他的操作!
4.一個類的構造方法的作用是什么?若一個類沒有聲明構造方法,改程序能正確執(zhí)行嗎?為什么?
主要作用是完成對類對象的初始化工作??梢詧?zhí)行。因為一個類即使沒有聲明構造方法也會有默認的不帶參數(shù)的構造方法。
5.構造方法有哪些特性?
名字與類名相同;
沒有返回值,但不能用void聲明構造函數(shù);
生成類的對象時自動執(zhí)行,無需調用。
6.靜態(tài)方法和實例方法有何不同?
靜態(tài)方法和實例方法的區(qū)別主要體現(xiàn)在兩個方面:
在外部調用靜態(tài)方法時,可以使用"類名.方法名"的方式,也可以使用"對象名.方法名"的方式。而實例方法只有后面這種方式。也就是說,調用靜態(tài)方法可以無需創(chuàng)建對象。
靜態(tài)方法在訪問本類的成員時,只允許訪問靜態(tài)成員(即靜態(tài)成員變量和靜態(tài)方法),而不允許訪問實例成員變量和實例方法;實例方法則無此限制
7.String 類的常用方法都有那些?
(1)常見String類的獲取功能
length:獲取字符串長度;
charAt(int index):獲取指定索引位置的字符;
indexOf(int ch):返回指定字符在此字符串中第一次出現(xiàn)處的索引;
substring(int start):從指定位置開始截取字符串,默認到末尾;
substring(int start,int end):從指定位置開始到指定位置結束截取字符串;
(2)常見String類的判斷功能
equals(Object obj): 比較字符串的內容是否相同,區(qū)分大小寫;
contains(String str): 判斷字符串中是否包含傳遞進來的字符串;
startsWith(String str): 判斷字符串是否以傳遞進來的字符串開頭;
endsWith(String str): 判斷字符串是否以傳遞進來的字符串結尾;
isEmpty(): 判斷字符串的內容是否為空串"";
(3)常見String類的轉換功能
byte[] getBytes(): 把字符串轉換為字節(jié)數(shù)組;
char[] toCharArray(): 把字符串轉換為字符數(shù)組;
String valueOf(char[] chs): 把字符數(shù)組轉成字符串。valueOf可以將任意類型轉為字符串;
toLowerCase(): 把字符串轉成小寫;
toUpperCase(): 把字符串轉成大寫;
concat(String str): 把字符串拼接;
(4)常見String類的其他常用功能
replace(char old,char new) 將指定字符進行互換
replace(String old,String new) 將指定字符串進行互換
trim() 去除兩端空格
int compareTo(String str) 會對照ASCII 碼表 從第一個字母進行減法運算 返回的就是這個減法的結果,如果前面幾個字母一樣會根據(jù)兩個字符串的長度進行減法運算返回的就是這個減法的結果,如果連個字符串一摸一樣 返回的就是0。
8.如何將字符串反轉?
添加到StringBuilder中,然后調用reverse()。
9.String 類的常用方法都有那些?
equals、length、contains、replace、split、hashcode、indexof、substring、trim、toUpperCase、toLowerCase、isEmpty等等。
10.普通類和抽象類有哪些區(qū)別?
抽象類不能被實例化;
抽象類可以有抽象方法,只需申明,無須實現(xiàn);
有抽象方法的類一定是抽象類;
抽象類的子類必須實現(xiàn)抽象類中的所有抽象方法,否則子類仍然是抽象類;
抽象方法不能聲明為靜態(tài)、不能被static、final修飾。
以上就是“精選出來的幾道Java語法基礎面試題”,你能回答上來嗎?如果想要了解更多的Java面試題相關內容,可以關注動力節(jié)點Java官網(wǎng)。