zoukankan      html  css  js  c++  java
  • 转行小白成长路-java篇

    第10章:内部类(上)

      内部类,顾名思义,在声明类的内部,是为了处理复杂问题的一种便捷的方式。应用到了递归思想,它可以多层嵌套,就像sql语句一样,每一层内部类对应一类问题,这样层层嵌套,将问题应用递归的思想分解开。这样未必是最好的方式,但却是行之有效的策略方法,将复杂问题简化。这种解决问题的方式最大的特点就是自上而下--树状图。每一层都对上层产生依赖,直到最上层。这应该是内部类的指导思想。

      有了指导思想剩下的就是设计的问题,比如说内部类的调用,想生成内部类的对象就一定会要从顶层(最外层)开始创建对象,每一层对象都会有所关联,他们每一层都对应着一类问题的抽象。因为引入了访问权限,所以从上到下应该是都可以生成对象的,因为他们都是被用来处理最外层的一类复杂问题,所以他们的权限可以是互通的,就像正常一个类中即使是private方法也都可以相互调用一样。所以权限问题完全可以当做是普通类的那样。内部类的生成方法示例:Outer.new Inner 。其中Outer和Inner都是对象,“.”是指范围。多层嵌套就是Outer.Inner 1.Inner2 .Inner3 ...。整体还是相对明了的。

      每个内部类编译后会产生相应的class文件,内容就是书写内部的时候内容,但是会发现文件名称多了“外层文件名$”的字样,相应的构造方法也都是了,通过这种方式关联上外层对象,也就是将引用关联,创建内部对象时会判断是否存在外层的依赖。

      今天整理的是内部类的简单部分,通过这些简单部分演变出现了一些变种,明天整理完。继续

  • 相关阅读:
    小波变换的引入,通俗易懂
    Leetcode 437. Path Sum III
    Leetcode 113. Path Sum II
    Leetcode 112 Path Sum
    Leetcode 520 Detect Capital
    Leetcode 443 String Compression
    Leetcode 38 Count and Say
    python中的生成器(generator)总结
    python的random模块及加权随机算法的python实现
    leetcode 24. Swap Nodes in Pairs(链表)
  • 原文地址:https://www.cnblogs.com/aiwin/p/12380337.html
Copyright © 2011-2022 走看看