国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

探討Java中內(nèi)部類及其用法

2019-09-10 07:22劉欣
天津教育·中 2019年5期
關(guān)鍵詞:驅(qū)動(dòng)程序靜態(tài)定義

劉欣

Java中的內(nèi)部類在程序中起著“心臟”的作用,能用此實(shí)現(xiàn)特定的功能,具有非常好的封裝性。使用內(nèi)部類可以很方便地編寫事件驅(qū)動(dòng)程序。本文將結(jié)合簡單實(shí)例內(nèi)部類理解及用法進(jìn)行詳細(xì)描述。

一、內(nèi)部類的定義及分類

內(nèi)部類指的是Java類體內(nèi)定義的類,也稱為嵌套類。通常類體內(nèi)有屬性與方法兩大部分,有了內(nèi)部類,類體內(nèi)可包括屬性、方法及類三個(gè)部分。內(nèi)部類可分為成員內(nèi)部類、靜態(tài)內(nèi)部類與方法內(nèi)部類,以及一種特殊的匿名內(nèi)部類。下面分別闡述。

二、成員內(nèi)部類

成員內(nèi)部類指的是與外部類的屬性、方法并列定義且作為外部類的一個(gè)成員存在的類。比如:

class outter{

void f(? ?){ //inner bb=new inner(); bb.g();

System.out.print(“我是外部類的方法”);}

class inner{ void g(? ?){

System.out.print(“我是內(nèi)部類的方法”);}}

public static void main(String args[]){

outter.inner aa=new outter(? ).new inner(? ?);

aa.g(? ?);}}

例中inner是成員內(nèi)部類。若想通過外部類去訪問內(nèi)部類,則需通過外部類對(duì)象創(chuàng)建內(nèi)部類對(duì)象,語法如下:

外部類名:內(nèi)部類名變量名=new外部類名(? )·new內(nèi)部類名(? );然后用對(duì)象訪問內(nèi)類部里的方法。代碼如下:

outter.inner aa=new outter().new inner();

aa.g(? ?);

另外,可在內(nèi)部類里訪問外部類成員方法。

三、靜態(tài)內(nèi)部類

靜態(tài)內(nèi)部類是內(nèi)部類的前面加上了修飾詞static,舉例如下:

public class outter {

void f(? ) {

System.out.println("我是外部類的方法");

new inner(? ?).g(? ?); }

static class inner{? void g(?  ) {

System.out.println("我是內(nèi)部類的方法");}}

public static void main(String[] args) {

outter.inner aa=new outter.inner(? ?);

aa.g(? ?); }}

其中inner就是靜態(tài)內(nèi)部。如果想通過外部類去訪問內(nèi)部類,只需要直接創(chuàng)建外部類的對(duì)象去訪問內(nèi)部方法,創(chuàng)建對(duì)象的具體語法格式如下:

外部類名.內(nèi)部類名 對(duì)象名=new 外部類名.內(nèi)部類名();

然后用外部類對(duì)象去訪問內(nèi)部類里的方法。對(duì)應(yīng)上例中的代碼為:

outter.inner aa=new outter.inner();

四、匿名內(nèi)部類

匿名內(nèi)部類顧名思義,就是沒有名字的內(nèi)部類,而且是方法內(nèi)部類。在GUI編程中用得較多,用于實(shí)現(xiàn)每個(gè)組件注冊(cè)了監(jiān)聽事件后,來完成事件的響應(yīng)動(dòng)作。格式為:

方法名(new 接口名(? ?){});

舉例如下:

interface shout{ void fg(); }

public class outter {

public static void main(String[] args) {

fh(new shout(? ?) { public void fg(? ? ) {

System.out.println("匿名內(nèi)部類實(shí)現(xiàn)"); }});}

public static void fh(shout ab) {ab.fg(? ?); }}

五、方法內(nèi)部類

方法內(nèi)部類又叫局部內(nèi)部類,該類位于方法體內(nèi),使用范圍比方法小,比較少用。特別要注意的是方法體內(nèi)不能定義靜態(tài)方法內(nèi)部類。

六、結(jié)語

除了可方便定義外,內(nèi)部類還具有如下特點(diǎn):

1.不為同一包的其他類所見,具有很好的封裝性。

2.使用內(nèi)部類可用于編寫事件驅(qū)動(dòng)程序。

3.匿名內(nèi)部類可以方便的定義運(yùn)行時(shí)回調(diào)。

(責(zé)任編輯? 李 芳)

猜你喜歡
驅(qū)動(dòng)程序靜態(tài)定義
以愛之名,定義成長
避免Windows系統(tǒng)更新反復(fù)安裝顯示驅(qū)動(dòng)
定義“風(fēng)格”
阻止Windows Update更新驅(qū)動(dòng)程序
猜猜他是誰
基于HTML5靜態(tài)網(wǎng)頁設(shè)計(jì)
分布式系統(tǒng)負(fù)載均衡關(guān)鍵技術(shù)及其發(fā)展脈絡(luò)
妙用鼠標(biāo)驅(qū)動(dòng)
驅(qū)動(dòng)程序更新與推薦
教你正確用(十七)
大余县| 阿图什市| 无极县| 婺源县| 伊金霍洛旗| 庄河市| 太白县| 峡江县| 拉萨市| 辽宁省| 申扎县| 柯坪县| 黔南| 洞头县| 武冈市| 白水县| 宁陕县| 三都| 深水埗区| 黔东| 璧山县| 延长县| 晴隆县| 区。| 黄浦区| 清涧县| 靖安县| 房产| 红河县| 重庆市| 浠水县| 宜良县| 武邑县| 柳江县| 江安县| 长海县| 通榆县| 盐亭县| 鹤壁市| 杨浦区| 阜城县|