標籤:java
------- android培訓、java培訓、期待與您交流! ----------
1.物件導向的設計思想
面向過程:是以一個流程為單位,考慮它的實現方法,關心的是它的功能實現。
物件導向:是以具體事物為單位,考慮它的屬性(特徵)和動作(行為)。
2.物件導向思考問題的方式
有哪些對象?
對象有什麼特徵和功能?
對象之間的關係?
3.類和對象
3.1,物件導向的編程思想:是力圖使電腦語言中對事物的描述儘可能的與現實中的該事物的本來面目一致。
3.2,類(class)和對象(object)是物件導向方法的核心概念。
類:是對一類事物特徵和行為的描述,是抽象,概念上的定義。如:人類
對象:是該類事物中實際存在的個體,也叫執行個體(instance)
4.java與物件導向
對象是Java的核心,在Java中“萬事萬物皆對象”。
類描述了對象的屬性和行為,類是對象的模板,圖紙。
對象是類中實際存在的個體。
JDK提供了很多類給編程人員使用,編程人員也可以自訂類
類---(執行個體化)-->對象----(抽象)--->類。
5.封裝類
對於OOP(物件導向編程)而言:
封裝:就將一類型的事物的屬性和方法一起封裝到一個程式單元裡,這個程式單元以類的形式實現。
抽象:將客觀存在的事物特徵用Java語言描述出來。抽象只關注一個主題與當前目標的有關方面,而忽略其他無關的方面
資料抽象:即將類的屬性和方法抽象出來。
封裝一個類:根據具體的應用從同一類型的對象裡抽象出相關的屬性和方法。
6.類中成員變數的預設值 (未初始化時)
byte=0 short=0 int=0 long=0L float=0.0F double=0.0D
boolean=false char=‘\u0000‘ 參考型別=null
7.this關鍵字
this可以看作一個變數,它的值就是當前對象的引用。
在方法中使用本類的屬性時,都會隱含地使用this名稱,當然你也可以明確指定
每個類中的每個非靜態方法都會隱含一個this引用名稱,它指向調用該方法的對象
this用法:
指向類中的成員變數
作為實參傳入方法中
在構造方法中,this(...)調用其他構造方法
不能出現在static的方法,代碼塊內(super也是)
8.物件導向的三大特徵
封裝:對外部不可見
繼承:擴充類的功能
多態:方法的重載,對象的多態性
類的封裝性:
private:不允許任何其他類對其訪問
預設(無修飾符):同一個包下的其他類才可以訪問它。
9.static關鍵字(類載入時建立,即第一次使用)
1.static變數:類變數(靜態變數),不可以在非static方法裡聲明,但可以使用
2.static方法:類方法(靜態方法),只能調用本類中的其他靜態成員,且不可以出現this和super
3.staitc靜態代碼塊:只在類載入時,執行並只執行一次,常用來初始化類的靜態成員變數
10.包(package)
為了方便管理眾多的類,並解決類命名衝突的問題,Java引入了包(package)的概念。
包的作用:包隱藏了類並解決了類命名的衝突問題。
打包:package 包名,必須作為第一條語句放在Java源檔案裡(無此語句,則預設放在無名包下)
編譯後,該類的位元組碼檔案將會放在包名目錄之下。
11.編譯並產生包
1.目前的目錄下產生帶包結構的位元組碼(‘ . ‘表示目前的目錄)
javac -d . 類名.java
2.在指定目錄下產生帶包結構的位元組碼
javac -d 指定目錄(d:\test\) 類名.java
3.運行:
必須到上面編譯時間指定目錄下去運行它, java 包名.類名 //不可少寫包名
12.JDK6中主要的包介紹
java.lang— 包含了一些Java語言的核心類,如:String Math Integer System Thread
java.util— 包含了一些實用的工具類,如定義系統特性,日期時間,日曆,集合類,Scanner
java.io— 包含多種輸入輸出的流類
java.net— 包含執行網路相關的操作的類
java.sql— Java操作資料庫的一些API。
Java.text— 包含一些處理文本,日期,數字和訊息的類和介面
------- android培訓、java培訓、期待與您交流! ----------
黑馬程式員-Java物件導向上《二》