一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解JAVA的封裝

詳解JAVA的封裝

2020-09-10 14:14乘風而歸 Java教程

Java面向對象的三大特性:封裝、繼承、多態。下面對三大特性之一封裝進行了總結,需要的朋友可以參考下

第一節 什么是java中的封裝

面向對象的三大特性:封裝、繼承、多態。

1.概念:將類的某些信息隱藏在類的內部,不允許外部程序直接訪問,而是通過該類提供的方法,來實現對隱藏信息的操作和訪問。

2.好處

a只能通過規定的方法訪問數據

b隱藏類的實例細節,方便修改和實現

3.封裝的實現步驟

修改屬性的可見性,改為設為private;創建getter/setter方法,用于屬性的讀寫,創建一個特定的方法,一般是gettersetter方法,可以在gettersetter方法中加入屬性控制語句,對屬性值的合法性進行判斷,舉例來說:

?
1
2
3
4
5
6
public float getscreen(){
return screen;
}
public void setscreen(float screen){
this.screen=screen;
}

第二節 使用包管理java中的類

封裝的類名可能沖突,用包可以解決

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

2.定義包,package關鍵字

3.系統中的包

java.(功能).(類)

java.lang.類 包含java語言基礎的類

java.util.類 包含java與語言中的各種工具類

java.io.類 包含輸入輸出相關功能類

4.包的使用

import 使用關鍵字可以在某個文件中使用其他文件中的類,全部都是小寫

import com.imooc.music.myclass;

import com.*是包下所有的類

第三節 java中的訪問修飾符

修飾我們屬性和方法的訪問范圍

private 本類

默認 本類 同包

protected 本類 同包 子類

public 本類 同包 子類 其他

第四節 java中的this關鍵字

1.this關鍵字代表當前對象,this.屬性代表當前對象的屬性,this.方法代表當前對象的方法

2.封裝對象屬性的時候經常會用到this關鍵字,例如this.a=a;

第五節 什么是java中的內部類

1.什么是內部類:

內部類是定義在另一個類里面,與之對應,包含內部類的類被稱為外部類。

 2.為什么要將一個類定義在另一個類里,清清爽爽獨立不好嗎?

內部類的主要作用是:

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

內部類中的方法可以直接訪問外部類的所有數據,包括私有數據

內部類所實現的功能使用外部類同樣可以實現,是有時使用內部類會更加方便。

3.內部類有幾種:

成員內部類;靜態內部類;方法內部類和匿名內部類

內部類其實也是外部類的一個成員,只不過這個成員類型是一個類,調用時要先實現外部類,然后才能找到該類下的內部類實現。例:

?
1
2
3
4
5
6
7
8
9
10
public class helloworld{
public class inner{
方法show();
}
main函數{
helloworld h=new helloworld();
inner i=h.new inner();
i show;
}
}

定義了成員內部類后,必須使用外部類對象來創建內部類對象,而不能直接去new一個內部類對象,也就是:內部類 對象名=外部類對象.new 內部類();

第六節 java中的成員內部類

內部類中最常見的也就是成員內部類,即普通內部類。

 成員內部類的使用方法:

1.內部類定義在外部類的內部,相當于外部類的一個成員變量的位置,內部類可以使用任意訪問修飾符,如public private protected等

2.內部類中定義的方法,可以訪問外部類中的數據,而不受訪問修飾符的影響

3.定義了成員內部類后,必須使用外部類對象來創建內部類對象,而不能直接去new一個內部類對象,也就是:內部類 對象名=外部類對象.new 內部類();

4.編譯含內部類的程序時,會出現兩個class文件,其中第二個是外部類的.class文件,第一個是內部類.class文件,成員內部類的class文件總是這樣,外部類名$內部類名.class 這是內部類.class名字 

詳解JAVA的封裝

注意:

a.外部類不能直接使用內部類的成員和方法,可以先創建內部類對象,然后通過它們的對象來訪問其成員變量和方法;

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

詳解JAVA的封裝

第七節 java中的靜態內部類

靜態內部類是static修飾的內部類,這種內部類的特點是:

1、靜態內部類不能直接訪問外部類的非靜態成員,但可以通過 new 外部類().成員 的方式訪問

2、 如果外部類的靜態成員與內部類的成員名稱相同,可通過“類名.靜態成員”訪問外部類的靜態成員;如果外部類的靜態成員與內部類的成員名稱不相同,則可通過“成員名”直接調用外部類的靜態成員

3、 創建靜態內部類的對象時,不需要外部類的對象,可以直接創建 內部類 對象名= new 內部類(); 

詳解JAVA的封裝

運行結果,訪問外部類中的b:1

訪問內部類中的b:2

第八節 java中的方法內部類

方法內部類就是內部類定義在外部類的方法中,方法內部類只在該方法的內部可見,即只在該方法內可以使用。

詳解JAVA的封裝

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

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

原文鏈接:http://blog.csdn.net/bo617520012/article/details/70151139

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 好大好硬好深好爽想要小雪 | 99久久精品国产免看国产一区 | 日本男男漫画 | 亚洲国产天堂久久综合网站 | 免费岛国片| 欧美一区二区三区高清不卡tv | 插入逼 | 好大好猛好深好爽视频 | 深夜a| 亚洲精品成人A8198A片漫画 | 美女毛片老太婆bbb80岁 | 女人和男人搞基 | 亚洲欧美日韩成人一区在线 | 免费精品国产在线观看 | 色先锋 影音先锋a 资源站 | 欧美日韩一区二区三区韩大 | 视频大全在线观看网址 | 欧美乱码视频 | 91热爆| 饭冈加奈子乳喷cead144 | 国产精品拍拍拍福利在线观看 | 日本人和黑人一级纶理片 | 精品无码一区在线观看 | 嫩草影院精品视频在线观看 | 亚洲成色爱我久久 | 美女扒开奶罩让男人吃奶 | 19+韩国女主播激情vip视频在线 | 亚洲国产精品一区二区首页 | 韩国三级 720p | 无码AV精品一区二区三区 | 欧美在线一 | 波多野结衣在线观看视频 | 欧美视| 国产区综合另类亚洲欧美 | chinese男同志videos| jk制服喷水 | 青草香蕉精品视频在线观看 | 亚洲羞羞视频 | 青青青青久久国产片免费精品 | 三级理论在线播放大全 | 欧美精品国产一区二区 |