




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA基础(Java内部类应用实践)使用Container来命名innerclass外部的class,以区分该Java文件以外的class,感觉这样更贴切。
packagecom.sss.exam.inner;
publicclassContainer1{
privateclassPrivateParams{//私有是针对外部其他类的访问是私有的。即外部的其他类不能访问
publicintid;
publicStringname;
}
publicclassPublicParams{
publicintid;
publicStringname;
}
/*Examda提示:本方法可以访问私有内部类
**/
publicvoidtestParams(){
PrivateParamsparams=newPrivateParams();
params.id=1;
=“sss“;
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Container1out=newContainer1();
//Container1可以访问public内部类和private内部类
PublicParamspp=out.newPublicParams();
pp.id=2;
=“sss2“;
PrivateParamsparams=out.newPrivateParams();
params.id=3;
=“sss3“;
}
}
其他类访问:
publicclassJustTest{
publicstaticvoidmain(String[]args){
Container1out=newContainer1();
//Container1可以访问public内部类和private内部类
PublicParamspp=out.newPublicParams();
//compileerror.不能访问私有内部类PrivateParamsparams=out.newPrivateParams();
}
}
其次种和第三种应用,考试大认为差异不大,可以理解为一种状况,不过是解决不同的问题罢了。
packagecom.sss.exam.inner;
*同一个类里面定义非public的类,不能加finalabstract之外的modifier
*其modifier值为0,不在Modifier的定义里面。有人称之为friendly修饰符
*这里的User跟单独写一个User类的区分仅仅在于modifier.编译出来的class都是单独存在的。
*/
classUser{
intid;
Stringname;
}
publicclassContainer2{
privateUseruser=null;
//一个对象是可以这样的,解决了trycatch的问题。
//但是假如是一个String,则不行,问题就在Java的传值和传引用的问题。String相当于就是传值的。
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
/*背景:catch和finally都一样,只是try局部不同
*传统方法:每次都需要写try,catch,finally
*
*/
/*
Stringuser=null;
try{
user=“fbysss“;
}catch(Exceptione){
user=“error.“;
}finally{
user+=“”sworkfinished.“;
}*/
Container2Ac2a=newContainer2A();
c2a.newMethod();
}
//使用了内部类的调用方法:
publicvoidnewMethod(){
Container2Commonc2c=newContainer2Common();
c2c.execute(newBaseMyMethod(){
publicUserdoMyMethod(){//必需要有返回值,否则通用处理方法得不到user
//error.无法访问user变量,必需声明为成员变量,user=“fbysss“;
user=newUser();
=“fbysss“;
System.out.println();
returnuser;
}
});
System.out.println(“olduseris:“+);
}
}
公共处理类:
publicclassContainer2Common{
publicvoidexecute(MyMethodmm){
Useruser=null;
try{
//通用接口方法,但是详细代码不一样
user=mm.doMyMethod();
}catch(Exceptione){
=“error.“;
}finally{
+=“”sworkfinished.“;
System.out.println();
}
}
}
共性方法接口:
publicinterfaceMyMethod{
publicUserdoMyMethod();
}
共性stub类,目的是能够实例化,由于接口是不能实例化的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 扩大一老一小健康服务供给实施方案
- 《向量加减法的几何意义:高中数学教学教案》
- 建筑设计领域工作成果证明(8篇)
- 木质纤维素中试平台的运营管理与安全保障体系
- 周总理批陈案学习回顾及延伸教学教案
- 英语翻译专业技能测试题
- 英语阅读理解跨文化交流主题试题库
- 小区公共设施农业改造合同
- 举例说明库存管理中可能出现的问题及其解决方法
- 食品营养学专业知识库题目
- 《基于模型驱动架构的专用规则引擎组件研究》
- 智慧树知到《运动生理学》章节测试答案
- 中医师承跟师月记1000字
- 香格里拉酒店
- 不定型耐火材料浇注施工工艺
- 4.1被动运输课件高一上学期生物人教版必修1
- 《基于PLC智能照明控制系统设计》开题报告2000字
- 《起重机械安全技术规程(第1号修改单)》
- 食品安全追溯管理制度范文
- 某年县区首届“百姓大舞台”活动方案
- 起重设备定期检查维护制度
评论
0/150
提交评论