




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年合伙企业合同范本
- 2025办公空间租赁合同样本
- 2025年农村土地流转合同协议书样本
- 2025电动汽车专卖店销售合同
- 2025南京市标准房屋租赁合同样本
- 2025yyy办公楼设计施工合同书
- 2025竹林租赁合同模板
- 2025年网络云服务器代理销售合同
- 2025房产买卖合同怎样写
- 2025物品寄存保管合同范本参考
- 比例尺单元测试卷及答案
- 氩弧焊基本知识课件
- 《广西壮族自治区基层工会经费收支管理实施办法》修订解读
- 中职语文教学大赛教学实施报告范文与解析
- 山东临沂市罗庄区兴罗投资控股有限公司招聘笔试题库2025
- 北京市朝阳区2025届高三下学期一模试题 数学 含答案
- 食品工厂5S管理
- 工程造价咨询服务投标方案(专家团队版-)
- 2024年广东省中考生物+地理试卷(含答案)
- 小小科学家《物理》模拟试卷A(附答案)
- AVL-CRUISE-2019-整车经济性动力性分析操作指导书
评论
0/150
提交评论