1. 程式人生 > >Java SE基礎知識點總結(四)

Java SE基礎知識點總結(四)

  • 構造方法一般用於初始化物件,為正在建立的成員變數賦初值。
  • 建立物件時一定會呼叫一個構造方法,如果沒有寫構造方法則編譯器會為類加上一個預設的構造方法。
  • 構造方法中的this:訪問物件屬性、訪問例項方法、呼叫過載的其他的構造方法(只能位於第一行,不會觸發新物件的建立)
  • StringBuffer與StringBuider的區別:前者是執行緒安全的,後者效能較高。
  • ==比較的是地址(兩個不同物件相同賦值也不等),equals比較的物件的值。

Integer i=100;//自動裝箱 int i = new Integer(100);//自動拆箱 需要注意的:boolean型別的值,所有byte型別的值,short、int->(-128,127),在 \u0000-\u007F之間的char型別的值。 為什麼要用封裝型別? 類的封裝性,保持本物件的資料的隱藏,防止其被其他物件破壞。 某些情況,資料必須作為物件出現,必須要用封裝類。 某些情況,封裝後可以更加方便的操作資料,比如:Integer的shortValue(),longValue(),intValue()等。

static:

  • 不可用於修飾構造方法
  • 靜態變數和靜態方法被類的的每一個物件公用
  • 靜態變數和靜態方法是在程式執行時分配記憶體的,直到程式執行結束才會銷燬 靜態方法中不能出現”this”和”super”
  • 程式執行時,先執行靜態程式碼塊,在類載入的時候執行並只執行一次 靜態程式碼塊在類中的順序就是執行順序(向下覆蓋)

繼承:

  • 面向物件程式設計的特徵之一
  • 父類的建構函式不會被繼承
  • 在子類裡新建父類的物件,此時該物件只能呼叫父類的public變數和方法
    創造子類物件時,會先按照其父類的資訊開闢空間,然後如果有新增的屬性或者方法,再繼續分配
  • 使用super關鍵字顯示呼叫父類的構造方法(必須寫在第一行),不能和this同時出現
  • 子類重寫父類的方法會形成覆蓋,覆蓋的方法的訪問許可權不能比父類更嚴格(級別小),覆蓋的行為不能比父類丟擲更多異常

抽象類:

  • 使用abstract宣告的類,類中包括一個或多個抽象方法就必須指定為抽象類,抽象方法屬於不完整的方法,只有宣告,沒有方法主體(由繼承該類的子類重寫來實現)
  • 抽象類不能直接被例項化
  • 抽象類可以繼承抽象類也可以繼承普通類,抽象類可以實現介面
  • 繼承了抽象類的普通類必須寫出抽象類內部所有的抽象方法
  • 繼承了抽象類的抽象類就不用寫出所有抽象方法,繼承類也是抽象類,因此也不能被例項化
  • 抽象類可以建立引用型別變數,用於指向其子類的物件

為什麼要使用抽象類?

1.如果一個類中沒有包含足夠的資訊來描繪一個具體的物件
2.進行型別隱藏,表現為一組行為的抽象描述,這一組任意個可能的具體實現方式則表現為所有可能的派生類
3.作為一系列函式的容器存在

介面:

  • 介面是一個特殊的抽象類 做到儘量簡單,達到鬆耦合效果
  • 普通類和抽象類都可以實現介面,一個類可以繼承的同時實現多個介面,一個介面可以被多個類實現,介面還可以建立引用型別變數
  • 抽象類是提取子類的公共程式碼,介面是類遵循介面協議對類進行的擴充套件**

相關推薦

Java SE基礎知識點總結

構造方法一般用於初始化物件,為正在建立的成員變數賦初值。 建立物件時一定會呼叫一個構造方法,如果沒有寫構造方法則編譯器會為類加上一個預設的構造方法。 構造方法中的this:訪問物件屬性、訪問例項方法、呼叫過載的其他的構造方法(只能位於第一行,不會觸發新物件的建

Java SE基礎知識點總結

沒辦法了,從頭學起。不過還是要告誡自己戒驕戒躁,沉住氣,一步一步來,打好地基才是蓋高樓最好的捷徑!又是一部長篇連載,遂分享出來,與君共享~ 編譯、執行java程式需要經過哪些主要步驟? 編寫原始碼

Java知識點總結泛型和集合

GenericStack<Integer> intStack = new GenericStack<>();泛型方法(靜態方法定義): public static <E extends GeometricObject> boolean equalArea(E object

java基礎知識點總結

1.如果main方法被宣告為private會怎麼樣?   能正常編譯,但執行的時候會提示“main方法不是public的”。 2.java裡的傳引用和傳值的區別是什麼?   傳引用是指傳遞的是地址而不是值本身,傳值則是傳遞值的一份拷貝。 3.如果要重寫一個物件的equals

linux基礎知識總結

基礎知識第四周學習總結 目錄 一.知識脈絡圖二.軟件包管理三.磁盤管理 一.知識脈絡圖 二.軟件包管理 1.軟件組成 二進制應用程序的組成部分: 二進制文件,庫文件,配置文件,幫助文件 庫文件: 庫文件是一個很特殊的存在,他對於很多程序起著支持作用,如果不小心

java面試基礎知識總結

五、Object 通用方法 equals()方法 等價關係 Ⅰ 自反性 x.equals(x); // true Ⅱ 對稱性 x.equals(y) == y.equals(x); // true Ⅲ 傳遞性 if (x.equals(y)

java面試基礎知識總結

一、資料型別 包裝型別 八個基本型別: boolean/1 byte/8 char/16 short/16 int/32 float/32 long/64 double/64 基本型別都有對應的包裝型別,基本型別與其對應的包裝型別之間的賦值使用自動裝箱與拆箱完成。 Integer

python基礎語法總結-- list列表

python常用系統函式方法與模組 python基礎語法總結(一)-- python型別轉換函式+檔案讀寫 python基礎語法總結(二)-- 函式function python基礎語法總結(三)-- 數與字串 python基礎語法總結(四)-- list列表

Oracle 資料庫基礎知識點總結

 1.資料庫表的完整性  ①實體完整性:靠主鍵來維護,資料唯一且不能為空 ②參照完整性:靠外來鍵來維護,主鍵表無記錄外見表則無法操作資料 ③域完整性:check()約束 not null 約

作業系統知識點總結

一)程序同步的基本概念:臨界資源、同步和互斥 在多道程式環境下,程序是併發執行的,不同程序之間存在著不同的相互制約關係。為了協調程序之間的相互制約關係,引入了程序同步的概念。 臨界資源 雖然多個程序可以共享系統中的各種資源,但其中許多資源一次只能為一個程序所使用,我們把

javascript基礎知識點總結

物件是有型別的——如何獲取物件的型別 typeof不能獲取到物件的具體型別,使用typeof獲取物件型別始終返回object 認為建構函式就是物件的型別,使用constructor獲取物件的具體型別:arr.constructor 自定義屬性 (工作中

關於Java基礎的複習總結初識面向物件

縱碼仗鍵行天下 1、類和物件 萬物皆為物件 類:是物件的抽象描述 物件:是類的例項化 類的組成: 屬性(成員變數) 方法(成員方法) 2、方法 無返回值型別:void 有返回值型別:int double String return:返回結果 跳出方法(可用於跳出多重迴圈) 無參方法

salesforce零基礎學習九十六專案中的零碎知識點總結

本篇參考: https://developer.salesforce.com/docs/atlas.en-us.216.0.apexcode.meta/apexcode/apex_classes_keywords_sharing.htm https://developer.salesforce.com/doc

JAVA學習總結

服務 共同點 運行 blog 重要 程序員 ride 處理 mob 1.接口 interface 1.1語法:   修飾符 interface 接口名{     常量     都是抽象方法  } 修飾符:默認 | public接口名:自定義,規則與類名相同,一般I字母打頭:

java 基礎歸納總結

indexof set方法 返回值 substr 成員變量 bstr con 子類 數組 一、面向對象    面向對象的三大特征:   1、封裝:將類的屬性私有化 並對外提供公共的 getset方法   2、繼承:用新類繼承已有類 可以直接使用 已有類的公共的方法和屬性

JavaSE學習總結——Java面向對象十分鐘入門

組織 table 運行時 order 3.1 project park 得到 row 目錄 一、理解類與對象及他們間的關系 1.1、對象 1.3、類與對象間的關系 二、了解面向對象編程的意義 三、定義類與實例化對象 3.1、定義類 3.2、實例化對象 四、區別

Java基礎學習筆記

animal 自定義類型 轉型 通過 PC pri 法則 lse super() 21.構造方法(續):分類: 隱式構造方法:如果在一個類中,沒有手動編寫構造方法,則系統會提供一個默認的無參的構造方法 顯式構造方法:如果在一個類中,手動編寫構造方法,則系統不會提供默認的

java基礎學python----------字典,集合

字典 類似於java中的hashmap 建立字典  使用{}建立字典  使用:指明鍵:值對 my_dict = {'John': 86411234, 'Bob': 86419453,'Mike': 86412387}  鍵必須是不可變的且不重複,值可以是

java基礎學習總結十三Java異常處理

一、JAVA異常       異常是指不期而至的各種情況,如:檔案找不到、網路連線失敗、非法引數等。異常是一個事件,它發生在程式執行期間,干擾了正常的指令流程。Java通過API中的Throwable類的眾多子類描述各種不同的異常。因而,Java異常都是物件,是Th

java基礎學習總結:可變長度引數以及foreach迴圈原理

一、語法糖        語法糖是一種幾乎每種語言或多或少都提供過的一些方便程式設計師開發程式碼的語法,它只是編譯器實現的一些小把戲罷了,編譯期間以特定的位元組碼或者特定的方式對這些語法做一些處理,開發者就可以直接方便地使用了。這些語法糖雖然不會提供實質性