【JavaSE_07】Java中类和对象-封装特性
一、談談什么是面向對象的思維
| 理解面向對象,重點是要思考以下的問題 面向過程 vs 面向對象 ??談談什么是面向過程的編程思想? ??為什么有面向過程還要有面向對象? ??談談什么是面向對象的編程思想? ??面向對象和面向過程有什么樣的聯系? 生活角度:面向過程 vs 面向對象 你---》做飯(買菜,洗菜,切菜,炒菜,吃,洗碗) 女朋友----》吃飯 女朋友---》面向對象---》你--做飯 你----》面向過程(明確具體的每個步驟) 總結: 生活角度: 面向對象:(先確定好一類事物,然后再找具體的對象)用人,關注點在于怎么協調每個人來完成工作 面向過程:要明確人去干活的細節,關注點在于做每件事的過程 每件事都是自己來干--執行者 每件事都是找專業的人來干--管理者(資源的調配者) 代碼角度: |
二、Java中的面向對象(類和對象)
| Java是一門純面向對象的語言,那么它是怎么來實現這些面向對象的思維的,那下面我們就要來學習它的語法。 掌握面向對象的基本語法:Java最基本的單位是類 在Java中有兩個重要的概念,類和對象。 先抽象(老師)后具體(具體的老師) 類: 生活中:多個個體---》提取公共性----》歸類 對象: 對象:個體 案例1:創建一個老師類 語法: public class 類名{ } 一個老師,我們需要關注什么特性?比如姓名,年齡等等 除了這些基本的特性或叫屬性之外,老師還應該有些行為,比較上課的行為。 那么這種行為,在java中就叫方法。 ? 總結: 基本信息--屬性 行為--方法 語法: Public class 類名{ ???數據類型 變量名; ???訪問修飾符 返回值類型 方法名(參數列表){ ???????方法體; ???} } 案例2:創建一個老師對象 類已經有了,但是類是抽象的概念,真正可以干活的是具體的對象,怎么具體化? 對象 創建對象的語法是什么? 類名 對象名 = new 類名();//這跟創建數組類似 對象名.屬性 對象名.方法 練習: 1.編寫一個老師類,關注其姓名,年齡,擅長領域等信息,同時關注其上課的能力,在測試類中創建該類的對象,通過對象給屬性賦值及調用方法 2.編寫一個手機類,關注其品牌,價格,屏幕大小等信息,同時關注其打電話的功能,在測試類中創建該類的對象,通過對象給屬性賦值及調用方法 增加功能: 來一個方法展示其老師的整體信息 來一個方法展示其手機的整體信息 JDK為我們提供了很多的類,方便我們程序的開發 比如文件的操作,上傳,下載 ---io 比如網絡的編程,做對聊小程序 --net 等等 有時候,我們還會自己來創建新的類 比如,婚介系統,存儲會員的信息 --創建一個新的類來存儲這個信息 會員: 屬性:身高,年齡等等 方法:唱歌,做飯。。。。 類:概念,抽象的 對象:具體的 |
三、封裝及this
| 封裝有兩層含義,對功能的封裝,比如就是我們的方法,方法就代表一個功能的實現; 另一層含義,是對數據的封裝,比如手機的價格等等 問題: 上述案例都有共同的問題,老師的年齡或手機的價格都可以給其負數,但應該是不合理的,怎么解決這樣的問題? Java為我們提供了一種解決方案(面向對象的三大特征之一:封裝) 注意:真正項目開發時,我們解決此類問題的方案并不是這樣,但是為了更好讓大家理解封裝的特性,我們暫且采用這個方案來解決此類問題。 步驟: 1.屬性私有化 2.對屬性提供get和set方法 新問題: ???名字相同的問題 ???解決方案引入this關鍵字 this訪問本類的構造方法: 小結: l?this訪問本類的成員屬性 l?this訪問本類的成員方法 l?this訪問本類的構造方法 ? 補充: 開發的時候,我們的類的所有屬性一般都會私有化,然后再提供方法給外界調用 |
四、構造方法
| 什么是構造方法,當我們要創建一個對象的時候就會使用到構造方法,可以實現對象的創建及對象信息的初始化工作 構造方法的使用及細節 1.構造方法的語法格式 訪問修飾符 類名(參數列表){ ????方法體; } 2.默認構造方法 3.帶參的構造方法 4.默認特性,系統默認會給我們提供一個無參的構造方法 練習:采用帶參的構造方法來實現對象的創建,并驗證系統提供無參構造方法的機制。 |
五、考點:成員變量和局部變量的區別
| 成員變量和局部變量的區別?筆試考點 成員變量: 定義在類中,跟成員方法同級別 局部變量: 方法的參數,或者定義在方法內的變量 (1),位置不同,導致作用域不同 (2),生命周期不同 (3),內存的位置不同(后面講對象內存圖時再講) (4),初始值不同,局部變量默認不給初始化,需要你自己去初始化,才能使用 (5),奇葩考點,成員變量和局部變量同名的情況,考優先級問題 |
總結
以上是生活随笔為你收集整理的【JavaSE_07】Java中类和对象-封装特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Eclipse用法:自动生成get和se
- 下一篇: 【JavaSE_07】Java中类和对象