版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内部类第六章Java程序设计与应用新工科建设之路·计算机类规划教材01内部类的创建和使用PARTONE内部类的创建和使用内部类不能脱离外部类而独立存在,因此内部类中不能存在任何static关键字的变量和方法,它是在一个类的内部定义的类。【例6-11】定义内部类。内部类的创建和使用别的类不能直接使用内部类的成员和方法,若想访问内部类,则需要通过外部类对象创建内部类对象。方法如下:【例6-2】定义内部类实例。内部类的创建和使用内部类的创建和使用运行结果如图6-1所示。内部类的创建和使用需要注意的是,Java编译器生成的内部类的字节码文件的名字与通常的类不同,内部类的字节码文件的名字格式为“外部类名$内部类名.class”。在例6-2中,InnerA的字节码文件是OuterA$InnerA.class。除此之外,我们还需要注意,如果外部类和内部类具有相同的成员变量和方法,内部类默认访问自己的成员变量和方法。若内部类要访问外部类的成员变量,则需要使用this关键字(外部类名.this)。内部类的创建和使用【例6-3】内部类访问外部类的成员变量。内部类的创建和使用运行结果如图6-2所示。02内部类的作用PARTTWO内部类的作用01实现内部信息隐藏对类的访问权限都是通过类前面的访问修饰符来限制的,一般的非内部类是不允许有private与protected权限的。但内部类可以,所以我们可以通过内部类来隐藏我们的信息。【例6-4】内部类实现信息隐藏。内部类的作用01实现内部信息隐藏内部类的作用01实现内部信息隐藏运行结果如图6-3所示。内部类的作用02无条件地访问外部类的所有元素内部类可以无条件地访问外部类的所有元素,包括私有成员变量和成员方法。【例6-5】内部类访问外部类的元素。内部类的作用02无条件地访问外部类的所有元素运行结果如图6-4所示。内部类的作用03实现多重继承从前面的内容可知,Java只能继承一个类,它的多重继承在我们学习内部类之前是用接口来实现的,但使用接口时有很多不方便的地方。例如,实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了,它可以使我们的类继承多个具体类或抽象类。【例6-6】内部类的多重继承。内部类的作用内部类的作用内部类的作用运行结果如图6-5所示。03内部类的分类PARTTHREE内部类的分类匿名内部类匿名内部类就是没有名字的内部类,多用于关注实现而不关注实现类的名称的情况。匿名内部类是唯一没有构造器的类,主要用于继承其他类或用于实现接口。匿名内部类方便编写事件驱动程序,后面会讲到匿名内部类多用于事件处理。内部类的分类匿名内部类【例6-7】匿名内部类实例。内部类的分类匿名内部类运行结果如图6-6所示。内部类的分类匿名内部类匿名内部类的特点如下。(1)匿名内部类是没有访问修饰符的。(2)使用“new匿名内部类”时,这个类首先是要存在的。如果将Interfaces接口注释掉,就会出现编译岀错。(3)匿名内部类方法中使用的形参是final的(显式的或隐式的),如例6-7中的num和str2的值是不可以被修改的。(4)匿名内部类是没有构造方法的。内部类的分类局部内部类局部内部类是定义在一个方法或一个作用域中的类,它和成员内部类的区别在于,局部内部类的访问仅限于方法内或者该作用域内。局部内部类与方法中的一个局部变量一样,不能有public、protected、private和static修饰符。内部类的分类局部内部类【例6-8】局部内部类实例。内部类的分类局部内部类【例6-8】局部内部类实例。内部类的分类局部内部类运行结果如图6-7所示。内部类的分类静态内部类静态内部类不需要依赖于外部类,但它不能直接使用外部类的非静态成员变量或者方法。它的使用规则为:如果要访问外部类的非静态成员,需使用“new外部类().成员”。如果外部类的静态成员与内部类的成员名称相同,可以通过“类名.静态名”访问外部类的静态成员。内部类的分类静态内部类创建静态内部类的对象的语法格式为:在其他类中创建内部类的对象时,不需要外部类对象创建,语法格式为:内部类的分类静态内部类【例6-9】静态内部类实例。内部类的分类内部类的分类运行结果如图6-8所示。04上机实验PARTFOUR上机实验01实验目的(1)掌握内部类的用法。(2)领会内部类的使用规则。02实验要求某农场饲养了一种皮肤颜色为红色的牛,该农场不希望别的农场也饲养这种特殊颜色的牛。因此该农场就可以将创建这种特殊颜色的牛作为自己的内部类。编写一个CowFarm类模拟该农场,其中包含RedCow的内部类。上机实验03程序模板按实验要求,将以下空缺的代码块部分替
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沟通与协调打造和谐职场环境
- 生态建筑引领未来商业趋势
- 现代科技在股票市场分析中的应用
- 校园餐饮消费大数据洞察学生消费习惯
- 2024年八年级生物下册 6.2.1遗传说课稿 (新版)冀教版
- 2024年八年级物理下册 8.1认识压强说课稿 (新版)粤教沪版
- 14《普罗米修斯》(说课稿)2024-2025学年-统编版语文四年级上册
- 2024年五年级数学下册 五 分数除法练习五说课稿 北师大版
- 2024-2025学年高中历史 专题1 中国传统文化主流思想的演变 3 宋明理学说课稿 人民版必修3
- 2024-2025学年八年级物理下册 第十章 从粒子到宇宙 10.1 认识分子说课稿 (新版)粤教沪版
- 2024年甘肃省高考历史试卷(含答案解析)
- 2024年山东省烟台市初中学业水平考试地理试卷含答案
- 抗肿瘤治疗所致恶心呕吐护理
- 2024年广东省中考地理试题(含解析)
- 西安经济技术开发区管委会招聘考试真题
- 冀教版小学英语六年级下册全册教案
- 2024人工智能开源大模型生态体系研究报告
- 紧密型县域医疗卫生共同体慢病管理中心运行指南试行等15个指南
- YYT 0681.11-2014 无菌医疗器械包装试验方法 第11部分:目力检测医用包装密封完整性
- 辽宁省沈阳市第七中学2023-2024学年七年级下学期期末数学试题
- 2024年湖南工业职业技术学院单招职业技能测试题库附答案
评论
0/150
提交评论