电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android開發必知的java嵌套類

瀏覽:61日期:2022-09-05 15:13:17

嵌套類指定義在另一個類的內部的類,嵌套類的存在只是為了他的外圍類。嵌套類有四種:靜態成員類,非靜態成員類,匿名類,局部類。

靜態成員類是最簡單的一種嵌套類。最好把它看做是一個普通的類,只是恰好定義在另一個類的內部。靜態成員類可以訪問外圍類的所有成員,包括那些私有的變量。靜態成員類同樣遵守可訪問性規則,如果將它定位私有,它就指在外圍類的內部才能訪問到。

在Android中 最為熟悉listview的ViewHolder我們通常使用的就是靜態成員類,通常作為一個公有的輔助類。作為Listview的緩存變量緩存view中布局。

私有靜態成員類,用來代表外圍類所代表的對象的組件。

代碼如下

public class PhotoListAdapter extends RecyclerView.Adapter<PhotoListAdapter.ImageVH> {static class ImageVH extends RecyclerView.ViewHolder { //代碼省略 }}

?

非靜態成員類與靜態成員類的語法區別在于是否有修飾符static 。盡管它們的語法很像,但是兩者的區別很大。非靜態成員類的每個實例都隱含這與外部類的一個外圍實例相關聯,非靜態成員類實例方法內部,可以調用外圍實例上的方法,只有靜態成員類的實例可以在外圍類獨立存在,沒有外圍實例的情況下,無法創建非靜態成員類的實例。

當非靜態成員類的實例創建,它與外圍實例之間的關聯也隨之被建立,而且這種關聯關系以后不能被修改。 這個關聯通常發生在外圍類的某個實例方法調用了非靜態成員類的構造器時。 這種關聯關系需要消耗非靜態成員類實例的空間,并增加了構造的時間開銷。 如果成員類不需要訪問外圍類實例 請加上static修飾詞

public class PhotoListAdapter extends RecyclerView.Adapter<PhotoListAdapter.ImageVH> { class ImageVH extends RecyclerView.ViewHolder { // 真是對外部類的實例持有,在Android開發中很大部分activity中的context的內存泄露因為這個原因。 }}

?

匿名類不同與JAVA的其他語法單元,匿名類沒有名字,它不是外圍類的一個成員,它不與其他的成員一起被申明,而是在使用的同時被聲明實例化。匿名類可以出現在代碼任何存在表達式的地方。只有匿名類出現在非靜態的環境中,他才有外圍實例,即使它聲明在靜態的環境中,也不可能擁有任何靜態成員。

imageView.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) { // 代碼省略} });

?

局部類在任何'可以聲明局部變量'的地方聲明。同樣遵守作用域規則,1. 局部類擁有名字,可以被重復使用。2. 與匿名類,只有當局部類是在非靜態環境定義的時候,才有外圍實例,不能包含靜態成員。

public class mainActivity extends Activity{ private Handler handler = new Handler(){@Overridepublic void handleMessage(Message msg) { // 此處同樣可能引起context持有導致的內存泄露} }; }

?

來自:http://www.jianshu.com/p/907758c2a63f

標簽: Java
相關文章:
主站蜘蛛池模板: 北京普辉律师事务所官网_北京律师24小时免费咨询|法律咨询 | 美国查特CHART MVE液氮罐_查特杜瓦瓶_制造全球品质液氮罐 | OpenI 启智 新一代人工智能开源开放平台| 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 包塑软管|金属软管|包塑金属软管-闵彬管业 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 天津市能谱科技有限公司-专业的红外光谱仪_红外测油仪_紫外测油仪_红外制样附件_傅里叶红外光谱技术生产服务厂商 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 不锈钢复合板厂家_钛钢复合板批发_铜铝复合板供应-威海泓方金属复合材料股份有限公司 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 氟氨基酮、氯硝柳胺、2-氟苯甲酸、异香兰素-新晨化工 | 重庆轻质隔墙板-重庆安吉升科技有限公司 | 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 无锡网站建设-做网站-建网站-网页设计制作-阿凡达建站公司 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 中国品牌门窗网_中国十大门窗品牌_著名门窗品牌 | 长沙印刷厂-包装印刷-画册印刷厂家-湖南省日大彩色印务有限公司 青州搬家公司电话_青州搬家公司哪家好「鸿喜」青州搬家 | 陶瓷砂磨机,盘式砂磨机,棒销式砂磨机-无锡市少宏粉体科技有限公司 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 湖南成人高考报名-湖南成考网| 水质监测站_水质在线分析仪_水质自动监测系统_多参数水质在线监测仪_水质传感器-山东万象环境科技有限公司 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 玉米深加工机械,玉米加工设备,玉米加工机械等玉米深加工设备制造商-河南成立粮油机械有限公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 超高频感应加热设备_高频感应电源厂家_CCD视觉检测设备_振动盘视觉检测设备_深圳雨滴科技-深圳市雨滴科技有限公司 | 北京浩云律师事务所-法律顾问_企业法务_律师顾问_公司顾问 | 天津仓库出租网-天津电商仓库-天津云仓一件代发-【博程云仓】 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 天津电机维修|水泵维修-天津晟佳机电设备有限公司 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 大型工业风扇_工业大风扇_大吊扇_厂房车间降温-合昌大风扇 |