某老師寫的J2SE的複習大綱

2021-05-25 18:59:36 字數 4299 閱讀 1682

第一部分:   基礎知識

第二部分:   物件導向

1.封裝類

對一類事物抽象所得到的乙個概念

物件乙個具體的食物

建構函式

(1)不能有返回值

(2)方法名與類名相同

(3)可以有多個

(4)預設生成無無引數無方法體無返回值的建構函式

自己一旦定義,編譯器將不再生成預設的建構函式

生成乙個類物件是能且只能呼叫其中的乙個建構函式

static

凡是static修飾的成員都是靜態成員

靜態成員都是屬於類的

非靜態的可以訪問靜態的,靜態的不可以訪問非靜態的.

通過類名只能訪問乙個類中的非私有靜態成員.

私有靜態成員也不可以通過物件名訪問

this

非靜態方法預設都含有乙個this指標 

this代表正在呼叫本方法的物件

final

修飾類 該類不能被繼承

修飾方法 該方法可以被繼承但不能被重寫 

修飾屬性  表示該屬效能且只能被賦一次值,

賦值方式只有兩種:

1.定義的同時顯示初始化

2.建構函式中初始化

函式過載:

同名不同參

返回值不能作為是否構成函式過載的依據

2.繼承

定義子類繼承了父類的成員

注意問題:

非私有成員才可以被子類繼承

重寫:重寫方法比粗和被重寫方法具有方法名稱,引數列表,返回值型別

重寫方法的訪問許可權不能小於被重寫方法

3.多型

定義:同一**可以隨上下文的不同而執行不同的操作

乙個父類的引用既可以指向父類物件也可以指向子類物件,可以根據當前時刻指向的

不同自動呼叫不同物件的方法

注意:通過父類的引用只能訪問子類從父類繼承過來的成員

只有在父類的引用本身指向的就是乙個子類物件時,

我們才可以把父類的引用強制轉換為子類的引用

相關知識:

抽象類乙個抽象類通常都含有抽象方法

只重寫了抽象類部分抽象方法的類也必須的被標記為abstract

不可以定義抽象類物件,但是抽象類可以實現多型

介面介面中的方法都是public abstract

不可以定義介面物件,但介面卻可以實現多型

重寫介面方法時public不能省

舉例:執行緒的建立

事件的處理

容器的組織方式

serializable介面

第三部分:  高階部分

1. 異常

定義:執行時的錯誤

分類無法處理的錯誤

可以處理的異常:

必須處理的異常

是exception子類擔不是runtimeexception 的子類

可處理可不處理的異常

runtimeexception 的子類

注意問題:

finally一定會執行

先捕獲子類異常,再捕獲父類異常,順序不能顛倒

重寫方法的丟擲異常的訪問不能大於被重寫方法丟擲異常的範圍

假設f方法跑出了a異常,則f方法有兩種方式處理a異常:

1.throws a

2.trycatch()

2.執行緒:

定義:乙個程式執行時的不同執行路徑

建立執行緒的方式:

繼承thread類

實現runnable介面

執行緒的同步

多個執行緒操作同乙個資源,並且要求這些操作中的若干個操作不能被中斷

執行緒同步是通過synchronized來實現   

synchronized可以修飾兩種:

**塊方法(預設鎖定的是this)

執行緒的通訊

有時多個執行緒只有彼此相互協作才可以完成某個工作

實現方式:

wait和notify() notifyall()

例項:生產消費

3. 包

包的生成與執行:

package語句必須是第一條語句

類名是包名和類名的組合

只有在整個包的最上層目錄才可以執行

同包:不同包的相互訪問: 

jar包的生成與jar包的使用

普通jar包的生成

jar -cvf  要生成的jar包的名字.jar *

可執行jar包的生成:

jar cvfm 要生成的jar包的名字 .jar 1.txt *

4.gui

容器和元件的關係:

容器時元件但元件不一定是容器

常見的布局管理器:

borderlayout --frame

flowlayout--panel

gridlayout

事件模型:

明白哪些操作時編譯器自動完成的,哪些操作是程式設計師手動完成的

程式設計師只需要做兩件事:

告訴事件源可以產生哪些事件

設計好可以處理這些事件的事件***

內部類:

在乙個類內部定義的類

內部類的方法可以訪問外部類的所有成員

外部類的方法不可以直接訪問內部類的任何成員

一定要明白產生內部類的原因:

如果乙個類a要使用b類的所有成員

b以外的其他類訪問,則我們可以把a定義成b的內部類

因此幾乎不存在直接生成內部類物件的問題

因此幾乎不存在外部類需要訪問內部類成員的問題

匿名類:

匿名類是內部類的一種極端表現形式

匿名類可以訪問外部類的成員和包裹本匿名類方法中的final類的

5.io流

定義:如果乙個類是用來完成程式和裝置間的資料傳輸,則這個類有個特殊的稱謂 流

流一定是類,類不一定是流

分類輸入流   輸出流

位元組流   字元流

原始流   包裹流

常用流介紹:

四大基本流

inputstream   outputstream

reader        writer

位元組流和字元流的區別:

位元組流可以處理所有格式的檔案

字元流只能處理文字格式的檔案

檔案流fileinputstream   fileoutputstream

filereader        filewriter

緩衝流bufferedinputstream   bufferedoutputstream

bufferedreader        bufferedwriter

緩衝流可以提高資料的傳輸速度

轉化流

outputstreamwriter  inputstreamreader

例子:程式設計實現把使用者從鍵盤輸入的字元儲存到乙個string物件中

資料流datainputstream   dtatoutputstream

資料流可以把基本型別資料的二進位制直接寫入或讀入      

例子:程式設計實現將long型別的資料寫byte陣列中

然後再從byte陣列中把資料讀出類

print流

printstream    printwriter

print流可以把基本型別資料格式化後的字串輸出

例子:程式設計實現吧鍵盤輸入的資料寫入a檔案,如果輸入有誤

則把出錯資訊寫入b檔案

object流

objectinputstream    objectoutputstream

可以把乙個對性直接寫入讀出

6.容器:

定義:如果乙個類是專門用來存放其他類物件的,則這個有另外乙個特殊的詞叫做                           容器

容器和類的關係:

容器一定是類,但類不一定是容器

collection介面:

set 介面

無序,不允許重複

實現類:

treeset  hashset

list介面

有序,允許重複

實現類:

arraylist  linkedlist

map介面:

即儲存資料本身,也資料的主鍵的一種介面

實現類:

hashmap   treemap

hashcode() 和equals()方法

collections類

該類提供了對collection介面顯示類的排序,倒置,查詢等功能

comparable介面

通過該介面的方法可以制定出對性之間比較的標準

凡是需要進行物件的比較排序的場合均可以考慮實現該介面

iterator 介面

利用該介面中的方法可以遍歷元素

好像還有網路程式設計沒有寫?難道不屬於j2se裡的?

馬士兵老師經典J2SE中的經典語錄

1.能力的三個層次 知識學習前人的知識 解決問題的方法 靈活運用學到的知識 解決問題的思路 創造解決問題的方法 2.學習新東西,離不開努力和勤奮 3.能力是慢慢培養上來的,我們可能一口吃成胖子。4.解決問題時,往往在嘗試的過程中收益才是最大的。5.出了錯誤不用怕,除錯就好了。6.遇到錯誤,應及時記錄...

j2se之物件的上轉型物件

上轉型物件是將子類的物件賦值給父類的引用,形如 superclass sup new subclass 屬性,私有方法 靜態方法 final方法都是靜態繫結的,即編譯期確定的。其他方法是動態繫結的,即虛擬機器執行時確定。後者才可能出現override的情況。1 上轉型物件不能操作子類新增的成員變數 ...

J2SE綜合 JAVA異常處理方式的區別和分析

一 內層方法丟擲異常,外層方法捕捉並處理異常 public void methoda catch exceptiontype et public void methodb throws exceptiontype else 在 這個例子中,方法b的頭部中宣告了該方法會丟擲乙個型別為exception...