java 物件導向
OOP-->Object Oriented Prigramming物件導向的物性:1.抽象 (Abstract): 將現實世界中的事物描述為系統中的類、對象及方法的過程,在這個過程中出去可不想管的資料和資訊,保留的資料用來實現系統特定的功能.2封裝(Encapsulation): 將對象實現的細節隱藏起來(使用者無需知道這些細節),只提供一些公用的方法將對象的功能表現出來.3.繼承(Inheritance): 是物件導向實現軟體複用發重要手段,利用繼承人們可以基於已經存在的類構建一個新類,子類繼承已經存在的類,就是複用父類的方法和屬性,除此之外子類還可以添加一些新的方法和屬性來滿足新的需求.4.多態(Polymorphism): 多態使Java更加的有生命和鮮活起來,多態指子類對象可以直接賦值給父類變數,但在運行時依然表現出子類的特性,Java引用變數有兩種類型,分別是編譯時間類型由賦值物件類型決定,如果編譯時間類型和賦值是類型不一致,就會構出現所謂多態. 一個對象在不同的時候可以擁有多個引用,但在同一時刻一個引用只能擁有一個對象,如果有一個引用對對象進行了修改,那麼將影響其他引用. 聲明的對象不是實實在在的對象,而是一個引用,它儲存在棧空間,供程式快速讀取調用,然後在棧空間中開闢了一片連續不斷的地區來儲存真正的資料內容. Java中對象的儲存方式也是一樣的,首先是在棧空間中儲存引用(name),然後通過new關鍵字把真實的對象建立出來,儲存在堆空間中. 在同一類中,構建出來的每一個人對象都各自擁有一套屬性,相互之間不受影響.但是確實公用類中的方法,這些方法都是儲存在一個叫方法區的地方. 對象是一個實實在在的個體,某個功能的真正執行體. 類是對象的一個模版,可以算是一種標準或者統稱. 參數: 形式參數:方法定義時的參數叫做形式參數(形參). 實際參數:調用方法時傳遞的值叫做實際參數(實參). 參數的本質上是值的傳遞. 限定範圍修飾詞: public 公有的 在整個工程中可以使用 安全度最低 default(表示什麼也沒寫) 預設的 在本類和本保重可以使用 protected 受保護的 在本類和本保重可以使用 private 私人的 只能在本類中使用 安全度最高 final關鍵字: 可以修飾類、屬性、方法. final修飾的類是最終類,不能夠被繼承. final修飾的屬性,之不能夠發生改變. final修飾的方法,不能夠再被子類重寫(覆蓋). 如何使用方法: 對象名.方法名(); eg:Person person=new Person(); person.say(); 方法之間可以互相調用,但是不能嵌套來定義. 如何定義屬性: 修飾詞 屬性類型 屬性名稱; 如何使用屬性: 對象名.屬性名稱; eg:Person person=new Person(); person.age=18; 構造方法的特點: 構造方法的方法名要與類名一致(首字母大寫). 構造方法不能有任何傳回值,包括void. 如果我們在類中沒有寫構造方法,編譯器會預設一個空參構造,寫了任何一種形式的構造方法,預設提供的空參構造會被覆蓋. 如果一個類中寫了多個構造方法,則它們屬於構造方法的重載;可以用this(參數); 調用本類中的方法. 構造方法不能夠被顯示調用,只能通過new關鍵字進行隱式調用. 構造方法就是建立對象的方法. 在企業開發中我們一般要寫空參構造方法,即使程式中用不到,但是我們程式中明確要求不能寫出空參構造,則可以不寫. 通過this(參數); 調用本類中的構造方法.this(參數); 必須寫在構造方法中的第一行,即this(); 之上不能有任何可執行代碼. new關鍵字: 為要建立的對象開闢記憶體空間. 調用類的構造方法建立出對象. 把對象的地址賦值給聲明的引用對象. 通過new關鍵字構建對象時,小括弧裡寫入的是參數,如沒有參數,直接為空白即可;如果有參數,則傳遞進來的實際參數要與定義時的形式參數保持一致(類型、數量、順序一致). 方法的重載(Overload): 在同一個類中,方法名相同,參數不同(參數的個數不同,參數的類型不同),叫做方法的重載. 方法的重寫(覆蓋)(Override): 方法重寫的標識是:@Override. 重寫的父類與之類的方法名相同. 如果有參數,父類與子類的參數也要完全相同(數目,類型,順序). 重寫的父類與子類的傳回值也必須完全相同. 子類的限定修飾詞可以與父類相同或者大於父類,許可權絕對不能小於父類. 私人的方法既不能被繼承也不能被重寫. 使用方法重寫的最終目的:就是為了在子類中改變父類方法的實現.