达摩java_JAVA面向对象
類和對象
類
現實世界,隨處可見的一種事物就是對象。對象是事物存在的實體。人不可能記住每個實體,所以將具有相同特點的東西歸為類。對象有兩部分組成,動態和靜態。靜態是屬性,動態是方法。
類是封裝對象的屬性和行為的載體。
類中對象的行為是以方法的形式定義的,對象的屬性是以成員變量的形式定義的。
成員變量:類的屬性的叫法。
成員方法:
權限修飾符 ?返回值類型 ?方法名(類型參數 ?參數名){
………. // 方法體
return? 返回值;
}
類的構造方法
與類同名的方法,對象的創建通過構造方法完成。其特點如下:
1,??????? 構造方法沒有返回值
2,??????? 構造方法的名稱要與本類名相同。
靜態變量、常量和方法
由static修飾的變量、常量和方法叫靜態變量、常量和方法。
static: 五種1:靜態成員變量2:靜態成員方法3:靜態代碼塊4:靜態內部類X5:靜態導包
static:可以被類名直接調用
類名.屬性名類名.方發名static與非static之間的重要區別:區別1:static修飾的成員是隨著類的加載而加載(優先)
非static成員是隨著對象的創建而加載區別2:
靜態方法|靜態代碼塊只能調用靜態成員,非靜態成員是不能直接調用的,創建對象(不能使用this關鍵字)非靜態方法可以直接調用非靜態成員,也可以調用靜態成員.類的對象進行調用靜態成員區別3:靜態成員對于多個對象而言是共享的非靜態成員對于多個對象是彼此獨立的
對象
對象的創建:Text text = new Text();
Text text = new Text();
類名 對象名= new 類名(參數(可以為空)
);
訪問對象的屬性和行為:對象.類成員的方式來獲取。
對象的引用: 類名 ?對象引用名稱
對象的比較:Java中兩種比較對象的方式,分別為“==”運算符與equals()方法的區別。Equals()方法是比較兩個對象引用所指的內容是否相等;而“==”運算符比較的是兩個對象引用的地址是否相等。
對象的銷毀:暫且不知道。
封裝
封裝的概念:將類的某些信息隱藏在類的內部,不允許外部類直接訪問,而是通過該類提供的方法來實現對隱藏信息的訪問和操作。
封裝的實現:1,通過訪問修飾符
2,通過基本類型的類封裝
沒有什么具體的方法,封裝體現在Java的思想里。(目前的理解,隨時改!)
繼承
類的繼承
基本思想是基于某個父類進行擴展,得到一個新的子類。子類可以繼承父類的原有方法和屬性,也可以增加原來父類所不具備的屬性和方法,或者直接重寫父類的某些方法。
繼承:類和類之間的關系
在Java所有類都默認繼承自Object
class child extends Parent extends關鍵字實現類的繼承
單根性:一個類只能存在一個父類
在Java中的繼承:子類可以繼承父類的任何非私有成員(變量方法
構造)? 子類永遠比父類擁有更多的成員
子>父
Object:任意一個類都直接或間接繼承Object 在MyEclipse中查看繼承架構圖的快捷鍵為ctrl+T? ctrl+O 查看類中的所有成員
native:不是由java實現的,而是由C語言實現的
final:常量 類(代表該類不能被繼承) 方法(該方法不能被子類重寫)
類型轉換
向上轉型: 子類向父類轉換 自動
向下轉型: 父類向子類轉換 強制ClassCastException instanceof? (在調用子類特有的成員時)
子類可以再任何時刻替代父類: is a關系
方法的重載
方法重寫:子類繼承了父類的方法后,要對父類的方法進行改寫 要求除了方法體之外,其他的必須一致(就進原則)
super:超類super代表父類的對象
構造函數:函數名與類名完全相同, 沒有返回值類型
執行時機:是在類的實例化的過程中,會自動調用構造函數
作用:完成類的成員變量的初始化
快捷鍵: alt+shirf+s generate
constructor........
@Override:注解 標識的作用
類和類之間發生繼承關系的情況下:構造是如何調用的
實例化子類的同時:會先執行父類的無參構造
super():隱式調用 必須位于第一行
帶參構造必須顯示調用
多態
多態:發生在具有繼承關系的實體中,不同實體為了完成同一操作(函數名)所采取的不同方式(方法體)。
里氏替換原則:(LiskovSubstitutionPrinciple):在出現超類的位置上,可以使用其子類對象 。由于,子類比父類更優秀,出現父類的任何位置,子類都可以使用)
多態實現的三種方式:
父類類型接收子類對象實現的多態
父類類型作為方法形參
父類類型作為方法返回值
抽象類
抽象類: abstract關鍵字修飾的類
不能直接實例化
內部可以存在抽象方法:
1 使用abstract關鍵字修飾
2 不能存在方法體
3 子類必須重寫 除非子類也是抽象類
普通類: 既能存在抽象方法,又能存在非抽象方法。可以構造函數
接口
接口象征著一種能力:實現類對應接口的實現類,表明具備該種功能。
總結
以上是生活随笔為你收集整理的达摩java_JAVA面向对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java适配器各三种_适配器三种
- 下一篇: JAVA随机存储_java-如何将随机整