Java基礎知識三
1.流程控制語句break,continue和·return的區別
-
break 跳出總上一層循環,不再執行循環(結束當前的循環體)
-
continue 跳出本次循環,繼續執行下次循環(結束正在執行的循環 進入下一個循環條件)
-
return 程序返回,不再執行下面的代碼(結束當前的方法 直接返回)
在 Java 中,如何跳出當前的多重嵌套循環
在Java中,要想跳出多重循環,可以在外面的循環語句前定義一個標號,然後在裏層循環體的代碼中使用帶有標號的break 語句,即可跳出外層循環。例如:
public static void main(String[] args) {
ok:
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println("i=" + i + ",j=" + j);
if (j == 5) {
break ok;
}
}
}
}
2.類與接口
抽象類和接口的對比:
抽象類是用來捕捉子類的通用特性的。接口是抽象方法的集合。
從設計層面來說,抽象類是對類的抽象,是一種模板設計,接口是行爲的抽象,是一種行爲的規範。
相同點
-
接口和抽象類都不能實例化
-
都位於繼承的頂端,用於被其他實現或繼承
-
都包含抽象方法,其子類都必須覆寫這些抽象方法
不同點
-
行爲模型應該總是通過接口而不是抽象類定義,所以通常是優先選用接口,儘量少用抽象類。
-
選擇抽象類的時候通常是如下情況:需要定義子類的行爲,又要爲子類提供通用的功能。
3.普通類和抽象類有哪些區別?
-
普通類不能包含抽象方法,抽象類可以包含抽象方法。
-
抽象類不能直接實例化,普通類可以直接實例化。
4.抽象類能使用 final 修飾嗎?
不能,定義抽象類就是讓其他類繼承的,如果定義爲 final 該類就不能被繼承,這樣彼此就會產生矛盾,所以 final 不能修飾抽象類。
5.創建一個對象用什麼關鍵字?對象實例與對象引用有何不同?
new關鍵字,new創建對象實例(對象實例在堆內存中),對象引用指向對象實例(對象引用存放在棧內存中)。
一個對象引用可以指向0個或1個對象(一根繩子可以不繫氣球,也可以系一個氣球);一個對象可以有n個引用指向它(可以用n條繩子繫住一個氣球)