最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解JAVA的封裝

 更新時(shí)間:2017年04月13日 09:47:08   作者:乘風(fēng)而歸  
Java面向?qū)ο蟮娜筇匦裕悍庋b、繼承、多態(tài)。下面對(duì)三大特性之一封裝進(jìn)行了總結(jié),需要的朋友可以參考下

第一節(jié) 什么是JAVA中的封裝

面向?qū)ο蟮娜筇匦裕?strong>封裝、繼承、多態(tài)。

1.概念:將類(lèi)的某些信息隱藏在類(lèi)的內(nèi)部,不允許外部程序直接訪問(wèn),而是通過(guò)該類(lèi)提供的方法,來(lái)實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問(wèn)。

2.好處

a只能通過(guò)規(guī)定的方法訪問(wèn)數(shù)據(jù)

b隱藏類(lèi)的實(shí)例細(xì)節(jié),方便修改和實(shí)現(xiàn)

3.封裝的實(shí)現(xiàn)步驟

修改屬性的可見(jiàn)性,改為設(shè)為private;創(chuàng)建getter/setter方法,用于屬性的讀寫(xiě),創(chuàng)建一個(gè)特定的方法,一般是gettersetter方法,可以在gettersetter方法中加入屬性控制語(yǔ)句,對(duì)屬性值的合法性進(jìn)行判斷,舉例來(lái)說(shuō):

public float getScreen(){
return screen;
}
public void setScreen(float screen){
this.screen=screen;
}

第二節(jié) 使用包管理JAVA中的類(lèi)

封裝的類(lèi)名可能沖突,用包可以解決

1.包的作用,管理Java文件夾,管理同名文件沖突

2.定義包,package關(guān)鍵字

3.系統(tǒng)中的包

java.(功能).(類(lèi))

java.lang.類(lèi) 包含java語(yǔ)言基礎(chǔ)的類(lèi)

java.util.類(lèi) 包含java與語(yǔ)言中的各種工具類(lèi)

java.io.類(lèi) 包含輸入輸出相關(guān)功能類(lèi)

4.包的使用

import 使用關(guān)鍵字可以在某個(gè)文件中使用其他文件中的類(lèi),全部都是小寫(xiě)

import com.imooc.music.Myclass;

import com.*是包下所有的類(lèi)

第三節(jié) JAVA中的訪問(wèn)修飾符

修飾我們屬性和方法的訪問(wèn)范圍

private 本類(lèi)

默認(rèn) 本類(lèi) 同包

protected 本類(lèi) 同包 子類(lèi)

public 本類(lèi) 同包 子類(lèi) 其他

第四節(jié) JAVA中的this關(guān)鍵字

1.this關(guān)鍵字代表當(dāng)前對(duì)象,this.屬性代表當(dāng)前對(duì)象的屬性,this.方法代表當(dāng)前對(duì)象的方法

2.封裝對(duì)象屬性的時(shí)候經(jīng)常會(huì)用到this關(guān)鍵字,例如this.a=a;

第五節(jié) 什么是JAVA中的內(nèi)部類(lèi)

1.什么是內(nèi)部類(lèi):

內(nèi)部類(lèi)是定義在另一個(gè)類(lèi)里面,與之對(duì)應(yīng),包含內(nèi)部類(lèi)的類(lèi)被稱(chēng)為外部類(lèi)。

 2.為什么要將一個(gè)類(lèi)定義在另一個(gè)類(lèi)里,清清爽爽獨(dú)立不好嗎?

內(nèi)部類(lèi)的主要作用是:

內(nèi)部類(lèi)提供了更好的封裝,可以把內(nèi)部類(lèi)隱藏在外部類(lèi)之內(nèi),不允許同一個(gè)包中其他類(lèi)訪問(wèn)該類(lèi)。

內(nèi)部類(lèi)中的方法可以直接訪問(wèn)外部類(lèi)的所有數(shù)據(jù),包括私有數(shù)據(jù)

內(nèi)部類(lèi)所實(shí)現(xiàn)的功能使用外部類(lèi)同樣可以實(shí)現(xiàn),是有時(shí)使用內(nèi)部類(lèi)會(huì)更加方便。

3.內(nèi)部類(lèi)有幾種:

成員內(nèi)部類(lèi);靜態(tài)內(nèi)部類(lèi);方法內(nèi)部類(lèi)和匿名內(nèi)部類(lèi)

內(nèi)部類(lèi)其實(shí)也是外部類(lèi)的一個(gè)成員,只不過(guò)這個(gè)成員類(lèi)型是一個(gè)類(lèi),調(diào)用時(shí)要先實(shí)現(xiàn)外部類(lèi),然后才能找到該類(lèi)下的內(nèi)部類(lèi)實(shí)現(xiàn)。例:

public class HelloWorld{
public class Inner{
方法show();
}
main函數(shù){
HelloWorld h=new HelloWorld();
Inner i=h.new Inner();
i show;
}
}

定義了成員內(nèi)部類(lèi)后,必須使用外部類(lèi)對(duì)象來(lái)創(chuàng)建內(nèi)部類(lèi)對(duì)象,而不能直接去new一個(gè)內(nèi)部類(lèi)對(duì)象,也就是:內(nèi)部類(lèi) 對(duì)象名=外部類(lèi)對(duì)象.new 內(nèi)部類(lèi)();

第六節(jié) JAVA中的成員內(nèi)部類(lèi)

內(nèi)部類(lèi)中最常見(jiàn)的也就是成員內(nèi)部類(lèi),即普通內(nèi)部類(lèi)。

 成員內(nèi)部類(lèi)的使用方法:

1.內(nèi)部類(lèi)定義在外部類(lèi)的內(nèi)部,相當(dāng)于外部類(lèi)的一個(gè)成員變量的位置,內(nèi)部類(lèi)可以使用任意訪問(wèn)修飾符,如public private protected等

2.內(nèi)部類(lèi)中定義的方法,可以訪問(wèn)外部類(lèi)中的數(shù)據(jù),而不受訪問(wèn)修飾符的影響

3.定義了成員內(nèi)部類(lèi)后,必須使用外部類(lèi)對(duì)象來(lái)創(chuàng)建內(nèi)部類(lèi)對(duì)象,而不能直接去new一個(gè)內(nèi)部類(lèi)對(duì)象,也就是:內(nèi)部類(lèi) 對(duì)象名=外部類(lèi)對(duì)象.new 內(nèi)部類(lèi)();

4.編譯含內(nèi)部類(lèi)的程序時(shí),會(huì)出現(xiàn)兩個(gè)class文件,其中第二個(gè)是外部類(lèi)的.class文件,第一個(gè)是內(nèi)部類(lèi).class文件,成員內(nèi)部類(lèi)的class文件總是這樣,外部類(lèi)名$內(nèi)部類(lèi)名.class 這是內(nèi)部類(lèi).class名字 

注意:

a.外部類(lèi)不能直接使用內(nèi)部類(lèi)的成員和方法,可以先創(chuàng)建內(nèi)部類(lèi)對(duì)象,然后通過(guò)它們的對(duì)象來(lái)訪問(wèn)其成員變量和方法;

b.如內(nèi)部類(lèi)和外部類(lèi)具有相同的成員變量和方法,內(nèi)部類(lèi)默認(rèn)訪問(wèn)自己的成員變量或方法。如果要訪問(wèn)外部類(lèi)的成員變量,可以使用this關(guān)鍵字,外部類(lèi).this.屬性。如:

第七節(jié) JAVA中的靜態(tài)內(nèi)部類(lèi)

靜態(tài)內(nèi)部類(lèi)是static修飾的內(nèi)部類(lèi),這種內(nèi)部類(lèi)的特點(diǎn)是:

1、靜態(tài)內(nèi)部類(lèi)不能直接訪問(wèn)外部類(lèi)的非靜態(tài)成員,但可以通過(guò) new 外部類(lèi)().成員 的方式訪問(wèn)

2、 如果外部類(lèi)的靜態(tài)成員與內(nèi)部類(lèi)的成員名稱(chēng)相同,可通過(guò)“類(lèi)名.靜態(tài)成員”訪問(wèn)外部類(lèi)的靜態(tài)成員;如果外部類(lèi)的靜態(tài)成員與內(nèi)部類(lèi)的成員名稱(chēng)不相同,則可通過(guò)“成員名”直接調(diào)用外部類(lèi)的靜態(tài)成員

3、 創(chuàng)建靜態(tài)內(nèi)部類(lèi)的對(duì)象時(shí),不需要外部類(lèi)的對(duì)象,可以直接創(chuàng)建 內(nèi)部類(lèi) 對(duì)象名= new 內(nèi)部類(lèi)(); 

運(yùn)行結(jié)果,訪問(wèn)外部類(lèi)中的b:1

訪問(wèn)內(nèi)部類(lèi)中的b:2

第八節(jié) JAVA中的方法內(nèi)部類(lèi)

方法內(nèi)部類(lèi)就是內(nèi)部類(lèi)定義在外部類(lèi)的方法中,方法內(nèi)部類(lèi)只在該方法的內(nèi)部可見(jiàn),即只在該方法內(nèi)可以使用。

注意:由于方法內(nèi)部類(lèi)不能在外部類(lèi)的方法以外的地方使用,因此方法內(nèi)部類(lèi)不能使用訪問(wèn)控制符和 static 修飾符。

希望本文所述可以對(duì)需要的朋友有些幫助

相關(guān)文章

  • java實(shí)現(xiàn)excel和txt文件互轉(zhuǎn)

    java實(shí)現(xiàn)excel和txt文件互轉(zhuǎn)

    本篇文章主要介紹了java實(shí)現(xiàn)excel和txt文件互轉(zhuǎn)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-04-04
  • 通過(guò)Mybatis實(shí)現(xiàn)單表內(nèi)一對(duì)多的數(shù)據(jù)展示示例代碼

    通過(guò)Mybatis實(shí)現(xiàn)單表內(nèi)一對(duì)多的數(shù)據(jù)展示示例代碼

    最近做項(xiàng)目遇到這樣的需求要求將表中的數(shù)據(jù),按照一級(jí)二級(jí)分類(lèi)返回給前端json數(shù)據(jù),下面通過(guò)本文給大家分享通過(guò)Mybatis實(shí)現(xiàn)單表內(nèi)一對(duì)多的數(shù)據(jù)展示示例代碼,感興趣的朋友參考下吧
    2017-08-08
  • 使用Thrift實(shí)現(xiàn)跨語(yǔ)言RPC的調(diào)用

    使用Thrift實(shí)現(xiàn)跨語(yǔ)言RPC的調(diào)用

    Thrift最大的優(yōu)勢(shì)就是可以實(shí)現(xiàn)跨語(yǔ)言RPC調(diào)用,尤其在一些大廠,微服務(wù)各模塊之間使用不同的語(yǔ)言是很常見(jiàn)的,本文就將使用java作為服務(wù)端,用python作為客戶(hù)端,實(shí)現(xiàn)不同語(yǔ)言之間的RPC調(diào)用,需要的可以參考下
    2023-10-10
  • Java使用Apache compress實(shí)現(xiàn)文件夾壓縮成Zip包

    Java使用Apache compress實(shí)現(xiàn)文件夾壓縮成Zip包

    Apache common提供了很多實(shí)用的工具包,這篇文章主要來(lái)和大家介紹一下Java如何使用Apache compress包實(shí)現(xiàn)文件夾壓縮成Zip包,希望對(duì)大家有所幫助
    2024-01-01
  • Spring?IoC容器Bean作用域的singleton與prototype使用配置

    Spring?IoC容器Bean作用域的singleton與prototype使用配置

    這篇文章主要為大家介紹了Spring?IoC容器Bean作用域的singleton與prototype使用配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Java中的泛型詳解

    Java中的泛型詳解

    這篇文章主要介紹了Java中的泛型詳解,本文講解了泛型類(lèi)或接口、從泛型類(lèi)派生子類(lèi)、偽泛型、類(lèi)型通配符、通配符的上限、通配符的下限、擦除和轉(zhuǎn)換等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • maven無(wú)法自動(dòng)導(dǎo)入依賴(lài)jar包解決方式

    maven無(wú)法自動(dòng)導(dǎo)入依賴(lài)jar包解決方式

    有時(shí)候Maven無(wú)法自動(dòng)導(dǎo)入包是因?yàn)樵摪聪螺d到本地倉(cāng)庫(kù)中,本文就來(lái)介紹一下解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • 一文詳解Java中的反射與new創(chuàng)建對(duì)象

    一文詳解Java中的反射與new創(chuàng)建對(duì)象

    Java中的反射(Reflection)和使用new關(guān)鍵字創(chuàng)建對(duì)象是兩種不同的對(duì)象創(chuàng)建方式,各有優(yōu)缺點(diǎn)和適用場(chǎng)景,本文小編給大家詳細(xì)介紹了Java中的反射與new創(chuàng)建對(duì)象,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2024-07-07
  • java8 stream自定義分組求和并排序的實(shí)現(xiàn)

    java8 stream自定義分組求和并排序的實(shí)現(xiàn)

    這篇文章主要介紹了java8 stream自定義分組求和并排序的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Java JDK動(dòng)態(tài)代理實(shí)現(xiàn)原理實(shí)例解析

    Java JDK動(dòng)態(tài)代理實(shí)現(xiàn)原理實(shí)例解析

    這篇文章主要介紹了Java JDK動(dòng)態(tài)代理實(shí)現(xiàn)原理實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

平顶山市| 海口市| 安阳市| 兴和县| 乌拉特后旗| 阿鲁科尔沁旗| 柘城县| 宁乡县| 马龙县| 湖北省| 宁津县| 宁乡县| 昌平区| 临沧市| 丽水市| 汉寿县| 江口县| 庆元县| 宁波市| 凤山县| 遵化市| 五台县| 柳河县| 巧家县| 林甸县| 霍山县| 安徽省| 如皋市| 呼伦贝尔市| 岳普湖县| 赣州市| 邓州市| 龙海市| 九江县| 延寿县| 安泽县| 吴忠市| 崇左市| 高尔夫| 潮安县| 沧州市|