java基礎知識點(diǎn)總結
很多初學(xué)java的新人不知道哪些java基礎知識必須掌握,下面yjbys小編為大家精心整理的java基礎知識點(diǎn)總結,方便大家學(xué)習!
方法/步驟
1、對象的初始化
(1) 非靜態(tài)對象的初始化
在創(chuàng )建對象時(shí),對象所在類(lèi)的所有數據成員會(huì )首先進(jìn)行初始化。
基本類(lèi)型:int型,初始化為0。
如果為對象:這些對象會(huì )按順序初始化。
※在所有類(lèi)成員初始化完成之后,才調用本類(lèi)的構造方法創(chuàng )建對象。
構造方法的作用就是初始化。
(2) 靜態(tài)對象的初始化
程序中主類(lèi)的靜態(tài)變量會(huì )在main方法執行前初始化。
不僅第一次創(chuàng )建對象時(shí),類(lèi)中的所有靜態(tài)變量都初始化,并且第一次訪(fǎng)問(wèn)某類(lèi)(注意此時(shí)
未創(chuàng )建此類(lèi)對象)的靜態(tài)對象時(shí),所有的靜態(tài)變量也要按它們在類(lèi)中的順序初始化。
2、繼承時(shí),對象的初始化過(guò)程
(1) 主類(lèi)的超類(lèi)由高到低按順序初始化靜態(tài)成員,無(wú)論靜態(tài)成員是否為private。
(2) 主類(lèi)靜態(tài)成員的初始化。
(3) 主類(lèi)的超類(lèi)由高到低進(jìn)行默認構造方法的調用。注意,在調用每一個(gè)超類(lèi)的默認構造
方法前,先進(jìn)行對此超類(lèi)進(jìn)行非靜態(tài)對象的初始化。
(4) 主類(lèi)非靜態(tài)成員的初始化。
(5) 調用主類(lèi)的構造方法。
3、關(guān)于構造方法
(1) 類(lèi)可以沒(méi)有構造方法,但如果有多個(gè)構造方法,就應該要有默認的構造方法,否則在繼承此類(lèi)時(shí),需要在子類(lèi)中顯式調用父類(lèi)的某一個(gè)非默認的構造方法了。
(2) 在一個(gè)構造方法中,只能調用一次其他的構造方法,并且調用構造方法的語(yǔ)句必須是
第一條語(yǔ)句。
4、有關(guān)public、private和protected
(1) 無(wú)public修飾的類(lèi),可以被其他類(lèi)訪(fǎng)問(wèn)的條件是:a.兩個(gè)類(lèi)在同一文件中,b.兩個(gè)類(lèi)
在同一文件夾中,c.兩個(gè)類(lèi)在同一軟件包中。
(2) protected:繼承類(lèi)和同一軟件包的類(lèi)可訪(fǎng)問(wèn)。
(3) 如果構造方法為private,那么在其他類(lèi)中不能創(chuàng )建該類(lèi)的對象。
5、抽象類(lèi)
(1) 抽象類(lèi)不能創(chuàng )建對象。
(2) 如果一個(gè)類(lèi)中一個(gè)方法為抽象方法,則這個(gè)類(lèi)必須為abstract抽象類(lèi)。
(3) 繼承抽象類(lèi)的類(lèi)在類(lèi)中必須實(shí)現抽象類(lèi)中的抽象方法。
(4) 抽象類(lèi)中可以有抽象方法,也可有非抽象方法。抽象方法不能為private。
(5) 間接繼承抽象類(lèi)的類(lèi)可以不給出抽象方法的定義。
6、final關(guān)鍵字
(1) 一個(gè)對象是常量,不代表不能轉變對象的成員,仍可以其成員進(jìn)行操作。
(2) 常量在使用前必須賦值,但除了在聲明的同時(shí)初始化外,就只能在構造方法中初始化。
(3) final修飾的方法不能被重置(在子類(lèi)中不能出現同名方法)。
(4) 如果聲明一個(gè)類(lèi)為final,則所有的`方法均為final,無(wú)論其是否被final修飾,但數據
成員可為final也可不是。
7、接口interface (用implements來(lái)實(shí)現接口)
(1) 接口中的所有數據均為 static和final即靜態(tài)常量。盡管可以不用這兩個(gè)關(guān)鍵字修飾
,但必須給常量賦初值。
(2) 接口中的方法均為public,在實(shí)現接口類(lèi)中,實(shí)現方法必須可public關(guān)鍵字。
(3) 如果使用public來(lái)修飾接口,則接口必須與文件名相同。
8、多重繼承
(1) 一個(gè)類(lèi)繼承了一個(gè)類(lèi)和接口,那么必須將類(lèi)寫(xiě)在前面,接口寫(xiě)在后面,接口之間用逗
號分隔。
(2) 接口之間可多重繼承,注意使用關(guān)鍵字extends。
(3) 一個(gè)類(lèi)雖只實(shí)現了一個(gè)接口,但不僅要實(shí)現這個(gè)接口的所有方法,還要實(shí)現這個(gè)接口
繼承的接口的方法,接口中的所有方法均須在類(lèi)中實(shí)現。
9、接口的嵌入
(1) 接口嵌入類(lèi)中,可以使用private修飾。此時(shí),接口只能在所在的類(lèi)中實(shí)現,其他類(lèi)不
能訪(fǎng)問(wèn)。
(2) 嵌入接口中的接口一定要為public。
10、類(lèi)的嵌入
(1) 類(lèi)可以嵌入另一個(gè)類(lèi)中,但不能嵌入接口中。
(2) 在靜態(tài)方法或其他方法中,不能直接創(chuàng )建內部類(lèi)對象,需通過(guò)手段來(lái)取得。
手段有兩種:
class A {
class B {}
B getB() {
B b = new B();
return b;
}
}
static void m() {
A a = new A();
A.B ab = a.getB(); // 或者是 A.B ab = a.new B();
}
(3) 一個(gè)類(lèi)繼承了另一個(gè)類(lèi)的內部類(lèi),因為超類(lèi)是內部類(lèi),而內部類(lèi)的構造方法不能自動(dòng)
被調用,這樣就需要在子類(lèi)的構造方法中明確的調用超類(lèi)的構造方法。
接上例:
class C extends A.B {
C() {
new A().super(); // 這一句就實(shí)現了對內部類(lèi)構造方法的調用。
}
}
構造方法也可這樣寫(xiě):
C(A a) {
a.super();
} // 使用這個(gè)構造方法創(chuàng )建對象,要寫(xiě)成C c = new C(a); a是A的對象。
11、異常類(lèi)
JAVA中除了RunTimeException 類(lèi),其他異常均須捕獲或拋出。
以上就是 java 基礎知識精華總結,希望大家熟練掌握靈活運用,多學(xué),多問(wèn),更多java基礎知識盡在拓勝。
【java基礎知識點(diǎn)總結】相關(guān)文章:
java必備基礎知識點(diǎn)08-22
Java基礎知識點(diǎn)歸納08-15
Java基礎知識總結08-19
java基礎筆試題201710-15
Java基礎筆試題大全10-15
Java基礎知識詳解08-19
Java知識點(diǎn)歸納08-29
Java入門(mén)基礎知識:Java IO(輸入/輸出)08-22
Java基礎筆試題及答案10-15
java面試基礎知識大全08-13