1. 程式人生 > >java中關係型之間的區別

java中關係型之間的區別

1.建構函式與普通函式的區別
1 返回值型別的區別
1、構造方法沒有返回值型別且不能寫void
2、普通方法有返回值也可以沒有返回值,沒有返回值型別時要寫void
2 函式名稱的區別
1、構造方法的名稱必須要和類名保持一致
2、普通方法的命名規則符合識別符號的要求jike
3 呼叫方式上的區別
1、建構函式一般在建立物件時時候由jvm呼叫
2、普通方法是在 呼叫的使用的
4 作上的區別
1、建構函式的作用給物件物件初始化
2、普通方法是對公共行為的描述
2.靜態變數和例項變數的區別:
1.所屬不同
靜態變數屬於類本身,稱為"類變數"
例項變數屬於例項物件,稱為"例項變數","物件變數"
2.生命週期不同
靜態變數隨著類的載入而載入,隨著類的消失而消失.
例項變數隨著物件的建立而存在,隨著物件的消失而消失.
3.記憶體區域不同
靜態變數在記憶體中的方法區(也稱為"共享區").
例項變數存在於物件所在的堆空間中.
4.使用方式不同
靜態變數有兩種使用方式,物件名的方式和直接使用類名的方式.(推薦使用類名的方式)
例項變數只能使用物件名的方式.
3.方法重寫與方法過載的區別
1.方法的過載:在一個類中出現了兩個或者兩個以上的同名函式。
方法的過載的作用:一個函式名可以應對不同型別的引數
方法過載的條件:
1.函式名一致
2.形參列表不一致(形式引數的個數與形式引數的資料型別不一致、引數的順序是不同的)
2.函式的重寫:
函式重寫:子類與父類出現同名的函式稱為函式的重寫(函式名相同,函式的對應的引數型別與個數相同,但是函式的方法體是不相同的)
函式重寫的前提:子類與父類存在繼承的關係。
函式重寫的需求:父類的功能無法滿足子類的需求。
函式重寫的要求:
1.子類與父類的函式名與形參列表要一致
2.子類的許可權修飾符必須要大於或者等於父類的許可權修飾符。
3.子類的返回值型別必須要小於或者等於父類的返回值型別。
4.子類丟擲的異常型別必須要小於或者等於父類丟擲的異常型別。
5.父類被static修飾時,子類重寫一定要寫static
4.this與super區別
1.代表事物的不一致:this,所屬函式的呼叫者物件,super嗲表的是父類空間的應用。
2.使用前提的不一致:super關鍵字是呼叫父類的建構函式。this不需要繼承就可以使用
3.呼叫建構函式的區別:super是呼叫的是父類的建構函式。this是呼叫的本類的建構函式
5.靜態的成員變數與非靜態的成員的區別?
1.作用上的區別:
(1)靜態的成員變數的作用共享一個數據給所有的物件。
(2)非靜態的成員變數的作用是描述一類事物的公共屬性。
2.數量與儲存位置上的區別:
(1)靜態成員變數是儲存方法區記憶體中,而且只會存在一份資料。
(2)非靜態成員變數是存在堆記憶體中,有n個物件就有n 份資料。
3.生命週期的區別:
(1)靜態的成員變數資料是隨著類的載入而存在的,隨著類檔案的消失而消失。
(2)非靜態的成員資料是隨著物件的建立而存在,隨著物件被垃圾回收器回收而消失。