`
sunxg
  • 浏览: 13760 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

内部类用处的思考

阅读更多
//: innerclasses/MultiImplementation.java
// With concrete or abstract classes, inner
// classes are the only way to produce the effect
// of "multiple implementation inheritance."
package innerclasses;
	class D {
	}

	abstract class E {
	}

	class Z extends D {
		E makeE() {
			return new E() {
			};
		}
	}

	public class MultiImplementation {
		static void takesD(D d) {
		}

		static void takesE(E e) {
		}

		public static void main(String[] args) {
			Z z = new Z();
			takesD(z);
			takesE(z.makeE());
		}
	}


thinking in java 上说内部类是为了解决多继承问题(the inner class is as the rest of the solution of the multiple-inheritance problem),如上代码。

     那么,为什么我们需要多继承?为什么将一个类嵌套在另一个类中来实现另外的类呢?为什么不将内部类移出来作为一个平常的类呢?
    
最深层次的原因是内部类的特性:内部类可以访问它所在的外部类的所有元素,包括私有成员和私有方法。也就是说实现了某一接口或类的内部类需要访问外部类的元素来实现自身功能,或者说内部类与外部类结合来实现某种功能,我认为这才是内部类的最终用法。
分享到:
评论

相关推荐

    java 编程入门思考

    7.6.9 为什么要用内部类:控制框架 7.7 构建器和多形性 7.7.1 构建器的调用顺序 7.7.2 继承和finalize() 7.7.3 构建器内部的多形性方法的行为 7.8 通过继承进行设计 7.8.1 纯继承与扩展 7.8.2 下溯造型与运行期类型...

    实验五 555定时器实验 Multisim 包含课后思考题、包含电路图、.m文件、思考题答案

    其内部由比较器、分压网络和放大部分组成,通过外部电容和电阻网络可以设置不同的工作模式,如单稳态、 Astable或多稳态模式。在单稳态模式下,555定时器会在输入触发信号消失后经过特定时间产生一个固定长度的脉冲...

    垃圾分类演讲比赛_垃圾分类演讲稿优秀范文大全5篇(范文)..doc

    1. 垃圾分类的定义与分类标准:垃圾分类是指按照垃圾的不同性质和用途,将其分类收集,便于后续处理和资源回收。通常分为四类:可回收垃圾(蓝色桶)、有害垃圾(红色桶)、厨余垃圾(绿色桶)和其他垃圾(黄色桶)...

    计算机舞弊审计的新思考.doc

    3. 开发控制:新系统和程序需经过严格审查,消除非正当用途的程序段。 4. 接触控制:限制开发员和操作员接触已运行系统,防止篡改。 三、输出类计算机舞弊的审计 输出类舞弊主要涉及篡改报告、窃取敏感信息等行为。...

    像计算机科学家一样思考(C++版)-201512280836561

    - 讨论了函数参数的局部性,即在函数内部定义的变量仅在函数内部有效。 第4章 条件和递归: - 介绍了取模操作符,并讨论了条件执行的语法。 - 讲解了if和else语句,实现条件分支。 - 讨论了嵌套条件和链式条件,...

    某品牌定位策略思考.pptx

    这份报告由旭日传播集团制作,他们进行了详尽的市场调研,包括研究网络信息、分析中国汽车市场趋势、走访经销商、参考广告材料以及深入探讨内部策略,旨在为瑞风提供一个强有力的品牌定位。 首先,MPV市场在中国正...

    企业内部培训PPT模板24套

    "企业内部培训PPT模板24套"是一个集合了多种风格和用途的模板资源,涵盖了从基础介绍到深入讲解的各种场景。 首先,我们要理解PPT在企业培训中的作用。它不仅是一种信息展示工具,更是引导学习者注意力、激发思考的...

    Java面试宝典.doc

    面试时,答题不仅需要准确无误,还要展示你的思考过程和理解深度,例如对于`&`和`&&`的区别,不仅要说明它们的共同点,还要通过实例展示短路效果和位运算的用途。此外,对于模糊不清的题目,要有勇气表达自己的观点...

    微机原理复习思考题存储器.pdf

    微机原理复习思考题存储器.pdf 中讨论了微型计算机中存储器的分类、特点、用途、直接寻址范围、存储器的存取时间、随机存储器、只读存储器、动态 RAM 的刷新、存储器件的组成、矩阵形式、选择存储器件的考虑因素、...

    大数据时代企业人力资源管理变革的思考.docx

    在大数据时代,企业内部也必须要根据时代发展的潮流对现有的企业模式进行一定的变革,以适应社会时代的发展需求。 大数据的出现能够对各种因素进行分析,包括心理学、管理学等各个不同的方面。大数据出现在各个行业...

    业务操作内部控制采购循环风险控制分析.ppt

    这需要企业在战略层面进行全局思考,结合内部和外部资源,建立有效的采购制度和流程,以应对不断变化的市场环境。通过这样的综合管理,企业能够在降低风险的同时,增强竞争力,实现可持续发展。

    高级操作系统思考题

    深入理解`task_struct`及其在内存管理中的作用,是解答这类问题的关键。 #### 2. 分页机制与页表映射 在操作系统的内存管理中,分页机制是将物理内存分割成固定大小的块(即页面),并为每个运行的进程提供一个独立...

    城市路灯智能控制系统的思考.pdf

    非总线型单片机则分为两类,一类是内部集成外设,减少芯片体积;另一类则是不需要扩展,但仍保留并行总线供I/O口使用。此外,单片机还可分为通用型和专用型,前者适用于多种场景,后者专为特定产品或用途设计。 5. ...

    关于vue组件内部命名规范的一些思考和意见

    保持数据名简洁且描述性强,能反映其用途。 4. **computed**:计算属性,用于创建基于其他数据动态计算的新属性。命名规则与data相同,例如`computedSummary`,并确保计算属性的名称能反映其计算逻辑。 5. **...

    《微机原理与接口技术》思考题参考答案.docx

    这些是计算机存储数据的关键部件,4.x部分可能详细解释了它们的工作原理、容量和用途。 5.1 - 5.2: 这里涉及的是汇编语言指令,如MOV用于数据传输,可能在讨论8086汇编语言编程。5.1和5.2中的示例展示了几种不同的...

    食品原料学思考题(20210924013710).pdf

    首先,食品原料按化学成分与用途大致可分为四类:禾谷类作物、豆类作物、油料作物和薯类作物。禾谷类作物如小麦、玉米,主要由淀粉、蛋白质和脂肪构成,适合制面食;豆类作物如大豆,富含蛋白质和脂肪,既是植物油...

    《嵌入式软件开发技术》复习思考题及答案.doc

    ### 嵌入式软件开发技术复习思考题解析 #### 一、选择题解析 **1. 单片机按用途可划分为几大类?** - **答案:A.2** - **解析:** 单片机按照用途通常可以分为两大类:通用型和专用型。通用型单片机适用于多种场合...

Global site tag (gtag.js) - Google Analytics