欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談java面向?qū)ο?類,封裝,this,構(gòu)造方法)

 更新時(shí)間:2017年06月11日 08:13:59   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談java面向?qū)ο?類,封裝,this,構(gòu)造方法)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

無(wú)論面向?qū)ο筮€是面向過(guò)程, 這倆都是解決問(wèn)題的思路而已, 只是角度不同.

面向過(guò)程:

強(qiáng)調(diào)解決問(wèn)題的每一個(gè)步驟都親力親為,每一個(gè)細(xì)節(jié)都自己手動(dòng)實(shí)現(xiàn).

面向?qū)ο螅?/strong>

使用特定功能對(duì)象去解決特定的問(wèn)題, 每一個(gè)細(xì)節(jié)不需要關(guān)注,只需要?jiǎng)?chuàng)建對(duì)應(yīng)的對(duì)象即可.

面向?qū)ο笫腔诿嫦蜻^(guò)程的

類和對(duì)象及他們的關(guān)系

類: 具有相同特征和行為(功能)的事物的統(tǒng)稱 , 是一個(gè)抽象概念
對(duì)象: 這類事物中某個(gè)確定的個(gè)體

類和對(duì)象的關(guān)系

一個(gè)類可以創(chuàng)建多個(gè)對(duì)象 , 類是對(duì)象的抽象, 對(duì)象是類的實(shí)例.

描述一個(gè)事物----> 類

特征----> 成員屬性(成員變量) 
行為(功能)---> 成員方法

類的創(chuàng)建格式:

修飾符 class 類名{

數(shù)據(jù)類型 成員變量名1;
數(shù)據(jù)類型 成員變量名2;
數(shù)據(jù)類型 成員變量名3;
...

成員方法1;
成員方法2;
成員方法3;
...
}

修飾符: public

類名: 標(biāo)識(shí)符 見(jiàn)名知意

成員變量列表: 事物的特征 ,只寫(xiě)當(dāng)前場(chǎng)景關(guān)注的特征,沒(méi)必要把事物的所有特征全都寫(xiě)上 . 寫(xiě)法類似于定義變量

成員方法: 事物的行為(功能) 只寫(xiě)當(dāng)前場(chǎng)景關(guān)注的行為(特征) 寫(xiě)法上類似于之前的定義方法, 區(qū)別在于此時(shí)寫(xiě)的話要去掉static

當(dāng)一個(gè)類第一次使用的時(shí)候要載入到方法區(qū) , 后續(xù)每一次再使用這個(gè)類 就不需要重復(fù)載入

成員變量和局部變量區(qū)別

1.定義的位置不同

局部變量: 定義在方法的內(nèi)部
成員變量: 定義在類的內(nèi)部, 方法的外部

2.在內(nèi)存中的存放位置不同

局部變量: 局部變量存放在 棧區(qū)
成員變量: 成員變量存放在 堆區(qū)

3.生命周期不同

局部變量: 隨著方法的調(diào)用而產(chǎn)生,隨著方法的結(jié)束而消失 相對(duì)較短
成員變量: 隨著對(duì)象創(chuàng)建而產(chǎn)生,隨著對(duì)象數(shù)據(jù)回收而消失 相對(duì)較長(zhǎng)

4.初始值不同

局部變量: 沒(méi)有初始值, 使用之前必須進(jìn)行賦值
成員變量: 有初始值, 引用類型 null, 整數(shù) 0 , 小數(shù)0.0 字符:空格, 布爾 false

封裝性

封裝是 面向?qū)ο蟮娜筇卣髦唬?另外兩個(gè)是繼承 多態(tài)

類名:Person
屬性:name ,age
方法:展示

封裝好處: 提高程序的安全性

對(duì)屬性封裝的步驟:

1.使用private關(guān)鍵字修飾對(duì)應(yīng)的屬性 , 防止外界通過(guò)對(duì)象名.屬性的方式直接訪問(wèn)屬性

2.書(shū)寫(xiě)對(duì)應(yīng)屬性的set和get方法 , 給外界一個(gè)訪問(wèn)屬性的通道

封裝是面向?qū)ο缶幊陶Z(yǔ)言對(duì)客觀世界的模擬,客觀世界里成員變量都是隱藏在對(duì)象內(nèi)部的,外界無(wú)法直接操作和修改。

封裝的原則:

將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái)。

把屬性隱藏,提供公共方法對(duì)其訪問(wèn)。

成員變量private,提供對(duì)應(yīng)的getXxx()/setXxx()方法

好處:

通過(guò)方法來(lái)控制成員變量的操作,提高了代碼的安全性

把代碼用方法進(jìn)行封裝,提高了代碼的復(fù)用性

變量訪問(wèn)的就近原則:

當(dāng)出現(xiàn)多個(gè)重名變量的時(shí)候, 目標(biāo)代碼使用的是離這行代碼最近的那個(gè)變量

this可以解決的問(wèn)題:

當(dāng)局部變量和成員變量重名的時(shí)候, 想在特定的代碼處訪問(wèn)成員變量, 就可以在目標(biāo)行的變量名前面加this.

this只的是當(dāng)前調(diào)用這個(gè)方法的對(duì)象

this 誰(shuí)調(diào)用指的就是誰(shuí)

構(gòu)造方法

是一個(gè)方法. 作用: 給對(duì)象的數(shù)據(jù)賦值默認(rèn)值

定義格式:

修飾符 方法名(參數(shù)列表){

若干條初始化語(yǔ)句

}

修飾符: public

方法名: 直接寫(xiě)類名

參數(shù)列表: 跟之前定義方法寫(xiě)形式參數(shù)一致

注意 構(gòu)造方法 沒(méi)有返回值類型

如果我們自己不手動(dòng)寫(xiě)無(wú)參數(shù)的構(gòu)造方法, 系統(tǒng)會(huì)默認(rèn)提供一個(gè),如果我們自己手動(dòng)書(shū)寫(xiě)了無(wú)參的構(gòu)造方法,

那系統(tǒng)就不會(huì)給提供,使用的時(shí)候直接使用我們自己寫(xiě)的構(gòu)造方法

構(gòu)造方法 也是方法 也可以進(jìn)行重載

但凡我們手寫(xiě)了任意的構(gòu)造方法, 系統(tǒng)就都不會(huì)給提供無(wú)參構(gòu)造方法了 ,

當(dāng)此時(shí)非要用無(wú)參的構(gòu)造方法創(chuàng)建對(duì)象的時(shí)候, 必須自己手寫(xiě)無(wú)參的構(gòu)造方法

以上這篇淺談java面向?qū)ο?類,封裝,this,構(gòu)造方法)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java 內(nèi)存模型(JVM)

    Java 內(nèi)存模型(JVM)

    本文公國(guó)講解Java 內(nèi)存模型來(lái)看看解決可見(jiàn)性、有序性問(wèn)題的 Java 內(nèi)存模型(JMM),今天通過(guò)本文給大家介紹Java 內(nèi)存模型(JVM)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-08-08
  • Spring中的動(dòng)態(tài)數(shù)據(jù)源解讀

    Spring中的動(dòng)態(tài)數(shù)據(jù)源解讀

    這篇文章主要介紹了關(guān)于Spring中的動(dòng)態(tài)數(shù)據(jù)源解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java多線程實(shí)現(xiàn)方塊賽跑小游戲

    Java多線程實(shí)現(xiàn)方塊賽跑小游戲

    這篇文章主要為大家詳細(xì)介紹了Java多線程實(shí)現(xiàn)方塊賽跑小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Springboot之修改啟動(dòng)端口的兩種方式(小結(jié))

    Springboot之修改啟動(dòng)端口的兩種方式(小結(jié))

    這篇文章主要介紹了Springboot之修改啟動(dòng)端口的兩種方式(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java中轉(zhuǎn)義字符反斜杠\的代替方法及repalceAll內(nèi)涵解析

    Java中轉(zhuǎn)義字符反斜杠\的代替方法及repalceAll內(nèi)涵解析

    這篇文章主要介紹了Java中轉(zhuǎn)義字符反斜杠\的代替方法及repalceAll內(nèi)涵解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 解決IDEA2020.1.2IDEA打不開(kāi)的問(wèn)題(最新分享)

    解決IDEA2020.1.2IDEA打不開(kāi)的問(wèn)題(最新分享)

    由于idea安裝多了某個(gè)jar,點(diǎn)擊出現(xiàn)讀條后閃退情況,接下來(lái)通過(guò)本文給大家分享解決IDEA2020.1.2IDEA打不開(kāi)的問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,感興趣的朋友跟隨小編一起看看吧
    2020-07-07
  • SpringBoot配置自定義攔截器實(shí)現(xiàn)過(guò)程詳解

    SpringBoot配置自定義攔截器實(shí)現(xiàn)過(guò)程詳解

    在系統(tǒng)中經(jīng)常需要在處理用戶請(qǐng)求之前和之后執(zhí)行一些行為,例如檢測(cè)用戶的權(quán)限,或者將請(qǐng)求的信息記錄到日志中,即平時(shí)所說(shuō)的"權(quán)限檢測(cè)"及"日志記錄",下面這篇文章主要給大家介紹了關(guān)于在SpringBoot項(xiàng)目中整合攔截器的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • Java的微信開(kāi)發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例

    Java的微信開(kāi)發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例

    這篇文章主要介紹了Java微信開(kāi)發(fā)中使用XML格式和JSON格式數(shù)據(jù)的示例,注意一下json-lib所需要的jar包,需要的朋友可以參考下
    2016-02-02
  • 使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法

    使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法

    這篇文章主要介紹了使用maven-archetype-plugin現(xiàn)有項(xiàng)目生成腳手架的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java實(shí)現(xiàn)發(fā)送手機(jī)短信語(yǔ)音驗(yàn)證功能代碼實(shí)例

    Java實(shí)現(xiàn)發(fā)送手機(jī)短信語(yǔ)音驗(yàn)證功能代碼實(shí)例

    這篇文章主要介紹了Java實(shí)現(xiàn)發(fā)送手機(jī)短信語(yǔ)音驗(yàn)證功能代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09

最新評(píng)論