1.JDK是java的核心,包括了Java執行環境JRE、JVM和Java工具和Java基礎類庫
2.JRE是執行JAVA的執行時環境,包含JVM和Java核心類庫。
3.JVM是java虛擬機器的縮寫,是整個java實現跨平臺的最核心的部分,能夠執行以Java語言寫作的軟體程式。
1.基本型別的值就是一個數字,一個字元或者一個布爾值.
八大基本型別byte,short,int,long,foiat,double,char,boolean
2.參照型別:
是一個物件型別,他的值是指向記憶體空間的參照
參照數據 型別如:( 類Class,介面Interface,陣列[] )
1 public : 對所有類可見。使用物件:類、介面、變數、方法
2 private : 在同一類內可見。使用物件:變數、方法。 注意:不能修飾類(外部類)
3 protected : 對同一包內的類和所有子類可見。使用物件:變數、方法。 注意:不能修飾類(外部類)
4 default (即預設,什麼也不寫,不使用任何關鍵字): 在同一包內可見,不使用任何修飾符。使用物件:類、介面、變數、方法。
3.程式碼如下:
public static void main(String[] args) {
int arr[] = {8, 5, 3, 2, 4};
//冒泡
for (int i = 0; i < arr.length; i++) {
//外層回圈,遍歷次數
for (int j = 0; j < arr.length - i - 1; j++) {
//內層回圈,升序(如果前一個值比後一個值大,則交換)
//內層回圈一次,獲取一個最大值
if (arr[j] > arr[j + 1]) {
int temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
}
3.1 排序過程(紅色:移動的數據)
5,3,2,4,8
3,2,4,5,8
2,3,4,5,8
2,3,4,5,8
2,3,4,5,8
相同點:
A. 兩者都是抽象類,都不能被範例化他們的子類都實現已宣告的方法
B.可以將抽象類和介面型別作爲參照型別
C. 一個類如果繼承了某個抽象類或者實現了某個介面都需要對其中的抽象方法全部進行實現,否則該類仍然需要被宣告爲抽象類
不同點:
A. interface實現需要通過implements , 而abstract 需要繼承用extends.
B. 一個類可以實現多個interface,但一個類只能繼承一個abstract class.
C. interface強調特定功能的實現,而abstract class強調所屬關係
D. 儘管interface實現類及abstrct class的子類都必須要實現相應的抽象方法,但實現的形式不同。interface中的每一個方法都是抽象方法,都只是宣告的 (declaration, 沒有方法體),實現類必須要實現。而abstract class的子類可以有選擇地實現
物件導向的三大特徵,封裝,繼承,多型.
封裝性:private關鍵字修飾
類的封裝性爲類的成員提供公有、預設、保護和私有等存取許可權,目的是隱藏類中的私有變數和類中方法的實現細節
繼承:extends關鍵字修飾
A.java只支援單繼承,可以傳遞(爺爺,兒子,孫子的關係)
B.相當於子類把父類別的功能複製了一份,不能繼承父類別的私有成員
C.像是is a 的關係,多用於功能的修改,子類可以擁有父類別的功能的同時,進行功能拓展
3.多型:
指同一個實體同時具有多種形式。它是物件導向程式設計(OOP)的一個重要特徵。主要是指同一個物件,在不同時刻,代表的物件不一樣,指的是物件的多種形態。
多型特點:
A.編譯看左邊,執行看右邊
B. 要有方法的重寫
C. 父類別參照指向子類物件,如:Animal a = new Dog(); – 小到大,向上轉型
D.多型的前提是繼承
E.多型可以讓我們不用關心某個物件到底是什麼具體型別,就可以使用該物件的某些方法。
F.提高了程式的擴充套件性和可維護性
注意:預設情況下面 下麪向物件有 3 大特性,封裝、繼承、多型,如果面試官問讓說出4 大特性,那麼我們就把抽象加上去。
一. String