亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java_四種常規內部類詳解

2019-11-14 09:37:31
字體:
來源:轉載
供稿:網友

一般來說,有4中內部類:常規內部類、靜態內部類、局部內部類、匿名內部類。 一.常規內部類:常規內部類沒有用static修飾且定義在在外部類類體中。 1.常規內部類中的方法可以直接使用外部類的實例變量和實例方法。 2.在常規內部類中可以直接用內部類創建對象 3.代碼如下: public class MyOuter { PRivate int x = 100; // 創建內部類 class MyInner { private String y = “Hello!”; public void innerMethod() { System.out.println(“內部類中 String =” + y); System.out.println(“外部類中的x =” + x);// 直接訪問外部類中的實例變量x outerMethod(); System.out.println(“x is” + MyOuter.this.x); } } public void outerMethod() { x++; } public void makeInner() { //在外部類方法中創建內部類實例 MyInner in = new MyInner(); } /** * @param args */ public static void main(String[] args) { MyOuter mo = new MyOuter(); // 使用外部類構造方法創建mo對象 MyOuter.MyInner inner = mo.new MyInner();//常規內部類需要通過外部類的實例才能創建對象,與實例變量需要通過對象來訪問相似 // 創建inner對象 inner.innerMethod(); // TODO Auto-generated method stub } } 4.運行結果:

內部類中 String =Hello!外部類中的x =100x is101

二.靜態內部類:與類的其他成員相似,可以用static修飾內部類,這樣的類稱為靜態內部類。靜態內部類與靜態內部方法相似,只能訪問外部類的static成員,不能直接訪問外部類的實例變量,與實例方法,只有通過對象引用才能訪問。 3.由于static內部類不具有任何對外部類實例的引用,因此static內部類中不能使用this關鍵字來訪問外部類中的實例成員,但是可以訪問外部類中的static成員。這與一般類的static方法想通 4.實例代碼: package com.m.ou; public class MyOuter { public static int x=100; public static class MyInner{ private String y=”Hello!”; public void innerMethod(){ System.out.println(“x=”+x); System.out.println(“y=”+y);

}

} /** * @param args */ public static void main(String[] args) { MyOuter.MyInner si=new MyOuter.MyInner();//靜態內部類不通過外部實例就可以創建對象;與類變量可以通過類名訪問相似 si.innerMethod(); // TODO Auto-generated method stub } } 4.運行結果: x=100 y=Hello! 三.局部內部類:在方法體或語句塊(包括方法、構造方法、局部塊或靜態初始化塊)內部定義的類成為局部內部類。 局部內部類不能加任何訪問修飾符,因為它只對局部塊有效。 1.局部內部類只在方法體中有效,就想定義的局部變量一樣,在定義的方法體外不能創建局部內部類的對象 2.在方法內部定義類時,應注意以下問題: 1.方法定義局部內部類同方法定義局部變量一樣,不能使用private、protected、public等訪問修飾說明符修飾,也不能使用static修飾,但可以使用final和 abstract修飾 2.方法中的內部類可以訪問外部類成員。對于方法的參數和局部變量,必須有final修飾才可以訪問。 3.static方法中定義的內部類可以訪問外部類定義的static成員 3.程序代碼: public class Jubu { private int size=5,y=7; public Object makeInner(int localVar){ final int finalLocalVar=localVar; //創建內部類,該類只在makeInner()方法有效,就像局部變量一樣。在方法體外部不能創建MyInner類的對象 class MyInner{ int y=4; public String toString(){ return “OuterSize:”+size+ “/nfinalLocalVar”+” “+”this.y=”+this.y;

}

}

return new MyInner();

} } class Main{ /** * @param args */ public static void main(String[] args) {

Object obj=new Jubu().makeInner(47);//創建Jubu對象obj,并調用它的makeInner()方法,該方法返回一個 //該方法返回一個MyInner類型的的對象obj,然后調用其同toString方法。 System.out.println(obj.toString()); // TODO Auto-generated method stub }

} 4.運行結果:

OuterSize:5 finalLocalVar this.y=4 四.匿名內部類:定義類的最終目的是創建一個類的實例,但是如果某個類的實例只是用一次,則可以將類的定義與類的創建,放到與一起完成,或者說在定義類的同時就創建一個類 以這種方法定義的沒有名字的類成為匿名內部類。 聲明和構造匿名內部類的一般格式如下: new ClassOrInterfaceName(){ /類體/ } 1.匿名內部類可以繼承一個類或實現一個接口,這里的ClassOrInterfaceName是匿名內部類所繼承的類名或實現的接口名。但匿名內部類不能同時實現一個接口和繼承一個類,也不能實現多個接口。如果實現了一個接口,該類是Object類的直接子類,匿名類繼承一個類或實現一個接口,不需要extends和implements關鍵字。

2.由于匿名內部類沒有名稱,所以類體中不能定義構造方法,由于不知道類名也不能使用關鍵字來創建該類的實例。實際上匿名內部類的定義、構造、和第一次使用都發生在同樣一個地方。此外,上式是一個表達式,返回的是一個對象的引用,所以可以直接使用或將其復制給一個對象變量。例:

TypeName obj=new Name(){ /此處為類體/ } 同樣,也可以將構造的對象作為調用的參數。例:

someMethod(new Name(){ /此處為類體/ }); 3.程序代碼: public class NiMing { private int size=5; public Object makeInner(int localVar){ final int finalLocalVar=localVar; return new Object(){ //使用匿名內部類 public String toString(){ return “OuterSize=”+size+”/nfinalLocalVar=”+finalLocalVar;

}

};

} /** * @param args */ public static void main(String args[]) { Object obj=new NiMing().makeInner(47); System.out.println(obj.toString());

} } 4.程序運行結果: OuterSize=5 finalLocalVar=47


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
性欧美xxxx| 色综合伊人色综合网| 国产精品成久久久久三级| 中文字幕亚洲欧美一区二区三区| 日韩国产精品视频| 91免费高清视频| 亚洲电影免费观看高清完整版| 亚洲精品欧美日韩| 亚洲高清色综合| 亚洲乱码一区二区| 青青青国产精品一区二区| 亚洲成人久久一区| 国产精品久久久久久久久久免费| 性色av一区二区三区在线观看| 亚洲人成在线播放| 欧美极品美女视频网站在线观看免费| 亚洲午夜精品久久久久久性色| 26uuu亚洲国产精品| 亚洲精品综合久久中文字幕| 欧美日韩亚洲国产一区| 精品久久久久久久久久ntr影视| 久久亚洲精品中文字幕冲田杏梨| 国产视频综合在线| 国产一区二区三区在线视频| 亚洲日韩中文字幕| 欧美日韩人人澡狠狠躁视频| 久久久人成影片一区二区三区| 亚洲视频一区二区三区| 亚洲精品乱码久久久久久金桔影视| 日韩一区二区久久久| 日韩在线观看免费av| 91精品国产高清久久久久久久久| 国产精品国产三级国产aⅴ浪潮| 日韩大陆欧美高清视频区| 国产精品久久电影观看| 欧美日韩在线视频观看| 亚洲欧洲午夜一线一品| 国产91av在线| 国产综合色香蕉精品| 精品久久国产精品| 国产69精品久久久久99| 日本亚洲欧美三级| 久久艳片www.17c.com| 2025国产精品视频| 不卡中文字幕av| 在线视频日本亚洲性| 亚洲一区二区三区香蕉| 中文字幕亚洲精品| 国产亚洲欧洲高清| 欧美性猛交xxxx乱大交极品| 日韩a**中文字幕| 成人免费高清完整版在线观看| 一道本无吗dⅴd在线播放一区| 亚洲国产中文字幕久久网| 亚洲欧美在线看| 日本高清久久天堂| 成人在线播放av| 美女扒开尿口让男人操亚洲视频网站| 国内精品视频久久| 中文字幕在线看视频国产欧美| 美女撒尿一区二区三区| 综合激情国产一区| 国产精品成人在线| 欧美综合国产精品久久丁香| 中文字幕在线看视频国产欧美在线看完整| 欧美理论电影网| 日韩免费精品视频| 97在线视频免费观看| 91在线观看欧美日韩| 在线亚洲国产精品网| 九九久久久久久久久激情| 国产免费一区二区三区香蕉精| 日韩国产高清污视频在线观看| 欧美精品在线播放| 日韩av电影院| 精品少妇一区二区30p| 色悠久久久久综合先锋影音下载| 国产亚洲成av人片在线观看桃| 亚洲v日韩v综合v精品v| 国产97在线观看| 国产日韩视频在线观看| 日韩av色在线| 国产999精品| 色综合久久悠悠| 亚洲精品综合久久中文字幕| 国产一区二区三区在线观看网站| 欧美久久精品一级黑人c片| 日本伊人精品一区二区三区介绍| 91情侣偷在线精品国产| 亚洲色图国产精品| 91在线观看欧美日韩| www.国产一区| 北条麻妃在线一区二区| 日本91av在线播放| 国产亚洲精品美女久久久久| 91国内在线视频| 国产精品福利小视频| 亚洲福利在线观看| 91av中文字幕| 欧美性生交xxxxx久久久| 日韩精品在线视频观看| 国产不卡一区二区在线播放| 久久精品国产一区| 欧美在线欧美在线| 国产精品日韩欧美| 久久青草福利网站| 亚洲国产成人在线播放| 亚洲香蕉在线观看| 亚洲精品98久久久久久中文字幕| 国产精品自在线| 国产精品久久激情| 国产精品福利小视频| 日韩在线视频国产| 国产偷亚洲偷欧美偷精品| 2020欧美日韩在线视频| 日韩电影免费在线观看中文字幕| 欧美一级黄色网| 日本一区二区在线播放| 国产一区二区激情| 日韩国产激情在线| 久久久久国产精品一区| 亚洲精品日韩欧美| 国产男人精品视频| 日韩精品极品在线观看播放免费视频| 国产色婷婷国产综合在线理论片a| 77777少妇光屁股久久一区| 精品亚洲永久免费精品| 久久精品国产99国产精品澳门| 色婷婷综合成人av| 神马久久久久久| 5278欧美一区二区三区| 欧美日韩亚洲系列| 黄色精品一区二区| 性欧美激情精品| 亚洲精品国产精品自产a区红杏吧| 欧美大片在线免费观看| 成人国产亚洲精品a区天堂华泰| 国产在线日韩在线| 欧美日韩亚洲一区二区| 国产成人在线播放| 日韩精品黄色网| 久久中文字幕一区| 69久久夜色精品国产69| www国产亚洲精品久久网站| 色偷偷88888欧美精品久久久| 永久免费看mv网站入口亚洲| 欧美亚洲国产另类| 成人疯狂猛交xxx| 国内精品一区二区三区四区| 亚洲一区二区免费在线| 日韩欧美福利视频| 亚洲国产精品yw在线观看| 久久亚洲综合国产精品99麻豆精品福利| 精品成人久久av| 欧美日韩国产一区中文午夜| 亚洲黄色有码视频| 91精品国产色综合久久不卡98| 成人黄在线观看| 亚洲女人天堂网| 91色视频在线观看| 国产亚洲精品美女久久久久| 国产91精品青草社区| 亚洲免费电影一区| 狠狠久久亚洲欧美专区|