回首看Java類與對象

類和對象的關系

?????類實質(zhì)上定義的是一種對象類型,他是對具有相似行為的對象的一種抽象,廣義上說就是對象的集合,比如說,眾多的人組成人類,人就是人類這個類的實例化,再比如,找女朋友這個問題上,女朋友是一個類,這個類具有女性,膚白貌美的屬性,將女朋友這個類實例化就是確定到某一個人了。類是對象的抽象表現(xiàn),對象是類的具象,ps:對象不止一個.

封裝的概念

概念:把相關的數(shù)據(jù)及其操作組織在類內(nèi),構成獨立意義的構件(組件),稱為封裝。

比如:生活中的各種控制開關,遙控器,都用到類的封裝,他們把這些功能封裝在一個小盒子里,在操作時,只需要按控制鍵,不需要知道怎么去工作的,對外只是表現(xiàn)為封裝體系間的接口關系。包概念的體現(xiàn)了封裝性,將一組類封裝在一個包內(nèi)。

封裝基本單位:

對象

類的創(chuàng)建

類有2中基本成分:變量和方法,變量可以使是基本類型,是數(shù)組,也可以是實例,方法負責處理這些變量,【方法中變量只能在類中定義,類的方法一般是public??? ?類的變量一般是private】

比如創(chuàng)建一個女朋友的類

public class girlfriend

{

private float shengao;

private float sanwei;

private int age;

private float weight;

以上是對這個類進行屬性的定義【身高,三圍,年齡,定義為私有,不能隨隨便便被人知道吧】

有了成員變量,得有成員方法來處理這些變量,女生大都愛吃,就定義一個吃的方法

void eat(){

System.out.println("l like eating")
}

方法定義完成后就開始調(diào)用這個方法,前提是你得有個女朋友?!疽簿褪穷惖膶嵗?/p>

public static void main(String args[])//主函數(shù)入口

{

girlfriend mm=new girlfriend();//類的實例化,女朋友有了,叫mm。

mm.eat();調(diào)用這個方法//使用女朋友的功能

?? }

}


注意事項:

訪問對象方法/屬性。如果是靜態(tài)方法/屬性,是帶有static關鍵字的屬性,可以直接通過類名來訪問

Java程序執(zhí)行過程分析,一張圖告訴你



舉個栗子:

源文件:鮮活的魚

編譯器:刀具

字節(jié)碼文件:被殺的魚

解釋器:炊具

工程:鮮美的魚湯


方法的分類

1類方法【靜態(tài)方法,帶有static的關鍵字的方法】

2.實例方法,用戶自己寫的方法【自定義方法】

3.構造方法【方法名與類名一模一樣】

聲明方法常用格式

訪問修飾符? 返回類型 方法名(參數(shù)列表){

方法體

}

帶有final的關鍵字的方法,表名該方法不能被重載,也不能被覆蓋


方法重載

概念:多個方法名相同,參數(shù)不同【在一個類中】

參數(shù)不同體現(xiàn)在以下2點

1.參數(shù)類型相同,個數(shù)不同

2參數(shù)個數(shù)相同,類型不同

方法調(diào)用

1,非靜態(tài)???? 對象名.方法名();

2,靜態(tài)????? 對象名/類名.方法名();

方法與方法之間的調(diào)用

1.在本類中,靜態(tài)方法直接調(diào)用靜態(tài)方法,直接寫方法名即可

2.在本類中,靜態(tài)調(diào)用非靜態(tài)方法,就必須通過對象來調(diào)用【對象名.方法()】

3.在不同類中,靜態(tài)調(diào)用其他類中靜態(tài)方法???? 方法【類名.靜態(tài)方法名.()】

4.在不同類中,靜態(tài)調(diào)用其他類中非靜態(tài)方法?? 需要導入被調(diào)用的類中的包,以及通過創(chuàng)建對

象調(diào)用【在調(diào)用主類中創(chuàng)建從類中的對象調(diào)用】調(diào)用的類稱主類,被調(diào)用的稱從類 容易曲分

非靜態(tài)方法內(nèi)部調(diào)用

1.在本類中,非靜態(tài)方法可以直接調(diào)用非靜態(tài)方法

2.在不同類中非靜態(tài)方法調(diào)用其他類靜態(tài)方法,需要導入被調(diào)用類中的包,并且需要通過類名來調(diào)用

3.在不同類中 ?,非靜態(tài)調(diào)用其他類中非靜態(tài)方法?,需要導入被調(diào)用的類中的包,以及通過創(chuàng)建對象調(diào)用【在調(diào)用主類中創(chuàng)建從類中的對象調(diào)用】調(diào)用的類稱主類,被調(diào)用的稱從類 容易曲分。


方法參數(shù)及其傳遞問題

Java中只有值傳遞,不存在引用傳遞

值傳遞:

1.基本類型傳遞:在棧道中分配內(nèi)存,在傳入時,實參會多復制一份,在方法內(nèi)修改參數(shù)不影響原實參。

2.引用類型傳遞【不是引用傳遞】這里看代碼

字丑了


方法遞歸

所謂遞歸,就是方法調(diào)用自身,但不會無休止調(diào)用下去,這里遵循條件。要想使用遞歸,遵尋下面要求;

1.必須滿足一個結(jié)束條件

2.方法調(diào)用自身

類的屬性

1.全局變量【定義在類中 在方法外面,類中的方法都可以訪問它】

2.局部變量【定義在類中,某個方法里,只有這個方法可以訪問】


this關鍵字

接地氣來說,this指的是當前對象,至于哪個對象,只有在運行期間才能知道是哪一個對象

具體看圖

最后來說說包

?? 咱要說的包可不是書包,背包,LV包,要說的是Java中的包。

怎么說呢 ,比如,在電腦上創(chuàng)建文件夾,對文件進行分類,分成視屏,音樂,照片,學習資料,當然還有蒼老師,這就是對文件分文別類,Java中的包就起到類似文件夾的作用,主要給class分類的工作。便于維護管理。


包名的定義:package com.canglaoshi

用包導入類型

1.導入包中所有的類

import? 包名.*;

2.導入包中具體的類

import 包名.類名

3.編輯包

{

1.javac -d.類名.java

d:創(chuàng)建目錄

"?. ":當前目錄 比如編輯一個女朋友類 Javac -d. girlfriend.java

如果在類中是這樣去定義一個包【package com.women.meimv;】

那么就可以在com的文件夾下的women的文件下的entity文件夾下找到 girlfriend.java 文件

2.Java? 包路徑/類名【了解即可】

}

包名規(guī)范

建議全部小寫,不管有多少個單詞組成

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容