Java 内部类和匿名类 定 义 在 一 个 类 内 部 的 类 叫 内 部 类 , 包 含 内 部 类 的 类 称 为 外 部 类 。 内 部 类 可 以 声 明public、protected、 private等 访 问 限 制 , 可 以 声 明 为 abstract的 供 其 他 内 部 类 或 外 部 类 继 承 与 扩展 , 或 者 声 明 为static、 final的 , 也 可 以 实 现 特 定 的 接 口 。 static 的 内 部 类 行 为 上 象 一个 独 立 的 类 , 非 static 在 行 为 上 类 似 类 的 属 性 或 方 法 且 禁 止 声 明 static 的 方 法 。 内 部 类 可以 访 问 外 部 类 的 所 有 方 法 与 属 性 , 但 static 的 内 部 类 只 能 访 问 外 部 类 的 静 态 属 性 与 方 法 。 Java的 设 计 者 在 内 部 类 身 上 的 确 是 专 心 良 苦 。 学 会 使 用 内 部 类 , 是 把 握 Java高 级 编 程 的 一部 分 , 它 可 以 让 你 更 优 雅 地 设 计 你 的 程 序 结 构 。 为 什 么 需 要 内 部 类 ? java中 的 内 部 类 和 接 口 加 在 一 起 , 可 以 实 现 多 继 承 。 可 以 使 某 些 编 码 根 简 洁 。 隐 藏 你 不 想 让 别 人 知 道 的 操 作 。 非 静 态 内 部 类 对 象 有 着 指 向 其 外 部 类 对 象 的 引 用 一 个 静 态 成 员 类 , 若 去掉“static”关键字, 就成 为 成 员 类 。 public class InnerClass { private static String nickName = "anan"; private String name; private int age; public InnerClass(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public class Inner { private String heart = "zhaoli"; public String getHeart() { return heart; } public void setHeart(String h) { this.heart = h; } public void print() { System.out.println(...