物件導向思想
物件導向是基於面向過程的思想 * * 面向過程:強調每一 個功能的步驟 * 物件導向:強調的是物件,由物件去呼叫功能 * 物件導向特徵:封裝、繼承、多型。 *
物件導向特點:
*1.更符合人們的思考習慣 * 2.將複雜的事情簡單化 * 3.將我們從執行者變成指揮者
構造方法:
給物件的資料進行初始化 * * 格式: * 1.方法名和類名相同 * 2.沒有返回值型別,連void都沒有 * 3.沒有具體返回值 * * 如何呼叫 * new 構造方法(…) * * 如果我們不提供構造方法,系統會給乙個預設的構造方法 * 如果我們提供了構造方法,系統不再為我們提供預設的構造方法
靜態**快:
類中成員位置,被static修飾
隨類載入而載入,只載入一次
構造**塊:
在類中成員的位置在構造方法之前執行,先執行構造**塊,再執行構造方法
類邊變數與例項變數
類變數就是靜態變數位置:
類中方法外記憶體區域:方法區
生命週期:隨類載入而載入
特點:無論建立多少物件,變數僅在方法區中存在乙份例項變數非靜態變數
位置:類中方法外
記憶體區域:堆記憶體
生命週期:隨物件建立而載入
特點:每建立乙個物件就存在乙個例項變數
static 靜態用來修飾成員變數成員方法:
特點:1.被所有物件共享2.可以使用類名呼叫3.靜態載入有先與物件4.隨著類的載入而載入
注意事項:靜態成員只能訪問靜態成員非靜態成員可以訪問非靜態靜態成員,也可以訪問靜態成員。
靜態方法:可以訪問靜態成員變數不可以訪問非靜態成員變數可以訪問靜態成員方法不可以訪問非靜態成員方法
非靜態方法:可以訪問靜態成員變數可以訪問非靜態成員變數可以訪問靜態成員方法可以訪問非靜態成員方法
優點:1.節省空間缺點:侷限性太強了(只能訪問靜態)
類與物件:
使用乙個類就是使用它的成員
想要使用乙個類的成員,就必須現有它的物件
如何擁有乙個物件?
沒有我們就建立乙個 new
建立物件
格式:類名 物件名 = new 類名();
如何呼叫類的成員?
成員變數:物件名.變數名
成員方法:物件名.方法名(…);
1.位置不同
成員變數:類中方法外
區域性變數:方法中或者方法宣告上
2.記憶體中位置不同
成員變數:堆裡面
區域性變數:棧裡面
3.生命週期不同
成員變數:隨物件建立而存在,隨物件消失而消失
區域性變數:隨方法的呼叫而存在,隨方法呼叫完成而消失
4.初始化值不同
成員變數:有預設值
區域性變數:沒有預設值,必須先賦值,再使用
乙個修飾符
修飾成員變數,成員方法
被private修飾的成員只能被本類訪問
屬性私有化,通過公共的get/set方法去訪問
封裝物件導向3大特徵之一
原則將不需要對外提供的內容隱藏起來
屬性隱藏,提供公共的訪問方式
好處提高安全性
**復用性
關鍵字this
this所在類的物件引用
方法被誰呼叫,this就代表那個物件
使用場景
區域性變數隱藏成員變數
給物件的資料進行初始化
格式:1.方法名和類名相同
2.沒有返回值型別,連void都沒有
3.沒有具體返回值
如何呼叫
new 構造方法(…)
如果我們不提供構造方法,系統會給乙個預設的構造方法
如果我們提供了構造方法,系統不再為我們提供預設的構造方法
成員變數
類變數例項變數
區域性變數
例項==物件
類變數與例項變數
類變數就是靜態成員變數
位置:類中方法外
記憶體區域:方法區
生命週期:隨類載入而載入
特點:無論建立多少物件,類變數僅在方法區中存在乙份
例項變數非靜態成員變數
位置:類中方法外
記憶體區域:堆記憶體
生命週期:隨物件建立而載入
特點:每建立乙個物件就存在乙個例項變數
區域性**塊:存在於方法中,控制變數生命週期
在構造方法之前執行,先執行構造**塊,再執行構造方法
類中成員位置,被static修飾
隨類載入而載入,只載入一次
JAVA物件導向學習
物件導向 1.static成員不能訪問非static成員 2.物件,引用,指標 3.private protect public 4.區域性變數 成員變數 父類回溯 5.super super.6.引用 編譯時型別,執行時型別 7.方法多型,變數例項無多型 8.引用型別只能決定編譯時變數,不能呼叫執...
Java學習 物件導向
一 物件導向的核心思想 使用類,物件,繼承,封裝,訊息傳遞等來進行程式設計。盡可能的運用人類的正常邏輯思維來解決問題,思考問題。二 類根據現實世界中的多個有相同特徵的個體進行分析,抽象出來的新的事物,即型別三 物件 通過類來產生的個體,可以有很多個 通過new關鍵字 呼叫的是類的構造方法,進行例項化...
java物件導向學習筆記
1.類和物件 類可以看成是一類物件的模板,物件可以看成是該類的乙個具體例項.2.類 物件 之間的關係 聚合,繼承,實現,多型.3.記憶體區分 類是靜態概念,區 物件是new出來的,位於堆記憶體 4.構造方法 函式 1 與類同名且沒有返回值 2 用來初始化物件的函式 3 new 構造方法,建立乙個新的...