JAVA面向對象基礎小結

JAVA基礎知識

JAVA的面向對象(obtion object)

Java面向對象首先要理清對象和類的關係:

1. 類是對象的模板,對象是類的體現;

現在把一個類比較一張汽車設計圖紙,對象比做剛按照這張圖紙製造出來的汽車。

2. 一個類有很多對象,對象不能改變類的內容。

一張圖紙能夠造出很多汽車,,其中的一輛車進行了改裝,但是沒能改變設計圖紙,所以後面製造出來的汽車還是沒有受到影響。

3.創造一個類(類名首字母大寫)

類名 對象名 = New 類名();

Java面向對象主要分爲繼承、接口、多態

繼承:

1. 表示繼承了父類的所有的東西,除了父類的private屬性和方法,但是不能對其改變,只能在其基礎上進行發展。所以沒有敗家子的出現。

2. 繼承關鍵字extends

Class 子類 extends 父類{

}

接口:

1. 接口其實是一個方法申明的集合,裏面只能放public static final 定義的常量(常量名全大寫字母)和沒有被實現的方法。接口只能被類實現,接口可以繼承於接口

2. 實現一個接口,必須實現其中的所有方法,使用關鍵字implements.

Class 類名 implements 接口{

}

多態:

多態的體現主要分爲以下兩方面:

1. overload和overriod

(1)這裏首先介紹以下overload是方法的重載,重載的要求是:方法名相同,參數的類型和個數不同。與返回值沒有關係。在調用時主要由參數來判斷調用的是哪個重載方法。

(2)然而overriod是方法的覆寫,覆寫的要求是:方法名相同,參數的個數個類型相同,返回類型必須相同。但是記住覆寫發有繼承關係的兩個類當中。如果一個方法被覆寫,子類對像在調用時一定是調用被覆寫的方法。

2.轉型問題

(1)向上轉型

父類 對象 = new 子類---------à 自動轉型

(2)向下轉型

子類 對象a = (子類)對象b---à 強制轉型

注意:向下轉型需要注意的是,向下轉型對象b必須是子類的實例,所以一般使用instanceof來判斷b對象是否是子類的實例。

If(b instanceof 類名)

{

子類 對象a = (子類)對象b

}

還要注意的是一般使用時,先把子類向上轉型以後再向下轉型。要不使用instanceof這樣不會發生轉型錯誤。

現在看看抽象類和接口的區別:

抽象類裏面可以有抽象的方法也可以有實現的方法,可以有常量也可以有變量。抽象類可以被單繼承。

接口裏面只能放抽象的方法,和常量,接口可以被實現。也可以被接口多繼承。接口中不能使用static關鍵字。

看看訪問權限的差別:

本類中

本包中

子類中

其他

PUBLIC

可以

可以

可以

可以

PROTECT

可以

可以

可以

默認類型

可以

可以

PRIVATE

可以

需要記住的一些關於static,private,final的細節:

有關鍵字static,private,final的方法不能被覆寫。

其中static的方法是不能被覆寫的,如果在子類中還有一個static的方法想覆寫它,則不叫覆寫,叫做重新定義。所以更具對象來調用相應的方法。

Private的方法不能被覆寫,因爲private的方法是父類自己的東西,不能被子類得到。在這裏說明一下,覆寫時要注意權限問題,權限只能放大不能縮小,不然會發生編譯錯誤。

Final定義的方法不能被覆寫,因爲final關鍵字一般定義固定的東西,比如一個類如果是final定義的則不能被繼承。

Static定義的靜態變量,是分配了內存空間的,所以,static變量是全局變量,在它定義後的任何修改都將改變它的值。

Static定義的靜態區域,優先於主方法。

寫的不好的地方,請大家提出來,好及時的改正,希望在今後大家一起進入嵌入式的學習,相互交流,共同進步,下次我會把簡單字符驅動的總結和大家一起分享,有什麼不明白的可以和我一起交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章