问题标签 [inner-classes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2267 浏览

python - Python数据结构/对象建模静态多维表

经过几年的中断后,我才重新开始编码,我正在尝试以一种让我在特定表单级别或整个子树上抓取和执行操作的方式对多层静态表单进行建模。

示例表单层次结构:

  • 我的表格
    • 问题 1
    • 第1部分
      • 问题 1.1
    • 第2部分
      • 问题 2.1
      • 第 1 部分
        • 问题 2.1.1
        • 问题 2.1.2
    • 问题2

每个问题将具有多个属性(问题文本、是否为必填字段等),并且问题可以位于层次结构的任何级别。

我希望能够做这样的事情:

和/或类似的东西:

我一直在尝试使用嵌套/内部类来做到这一点,这是一个令人头疼的问题,并且在 python 中没有得到很好的支持。但即使我能找到使用嵌套类的解决方案,我仍然想知道是否有更好的方法将此表单信息存储在某个地方,以便非编码人员更容易编辑(可能是纯文本模板),然后加载运行时的数据,因为它是静态的,我经常需要它在内存中。表单数据的更新不会超过每月一次。无论我如何存储数据,我都想找出一个好的数据结构来表示、遍历和操作它。

  • 有没有办法制作这样的分层属性对象?
  • 我可以做类似多维命名元组的事情吗?
  • 还有其他想法吗?

感谢您的任何评论。

0 投票
6 回答
11918 浏览

java - 类中可以嵌套多少次?

我在其中一个在线 Java 测试中遇到了这个问题。选项是 4、5、8 和任意次数。

我只使用了一个内部类,但从未尝试过多个内部类。我想知道是否有人知道答案。

0 投票
6 回答
2458 浏览

java - 将 Java 内部类嵌套一层以上是否合理?

Kushal Paudyal 询问在 Java 中可以嵌套多深的内部类。共识是,虽然语言本身没有限制,但底层操作系统和文件系统可以。

你有没有发现两层或多层嵌套内部类有用的案例?

更新 (11/28):如果您考虑枚举类,第二层嵌套可能是有意义的。在最近的一些重构中,我简要地有一个外部类(一个 HTTP 客户端)、一个内部类(一个内存缓存)和一个内部类内部的枚举类(用于缓存驱逐策略)。这似乎没问题,但就@Thorbjørn 而言,我继续从 HTTP 客户端类中提取缓存类及其内部枚举。

0 投票
2 回答
771 浏览

java - Java 中的闭包——三大提案之间的语法差异?

已经提出了向 Java 语言添加闭包的三个主要建议:

我的问题:

  • 三个提案(BGGA、CICE 和 FCM)在语法方面有什么区别?
0 投票
10 回答
101525 浏览

java - 为什么外部 Java 类可以访问内部类私有成员?

我观察到外部类可以访问内部类私有实例变量。这怎么可能?这是一个演示相同的示例代码:

为什么允许这种行为?

0 投票
7 回答
159528 浏览

java - 从内部类对象中获取外部类对象

我有以下代码。我想掌握创建内部类对象的外部类对象inner。我该怎么做?

编辑:好吧,你们中的一些人建议通过添加一个方法来修改内部类:

但是如果我无法控制修改内部类,那么(只是为了确认)我们是否还有其他方法可以从内部类对象中获取相应的外部类对象?

0 投票
6 回答
38496 浏览

java - 接口中的内部类与类中

这两个内部类声明有什么区别?还评论优点/缺点?

案例A:类中的类。

案例B:接口内的类。

进行了更正:getvalue 方法的位置。

更多信息:我能够在另一个完全不实现接口的类中实例化 A 和 B 的 Items 类。

由于没有实例化接口,因此接口内的所有元素都可以通过点符号访问,而无需实例化 LEVELS 接口,这仅仅是因为您无法实例化接口 - 有效地使接口内定义的类对静态引用具有渗透性。

所以说如果 B 不是静态的 Items 类是没有意义的。由于案例 A 和 B 都以相同的方式实例化,因此我不是在寻找关于静态、内部或嵌套的语义。别再给我关于语义的答案了。我想要编译器、运行时和行为差异/优势,或者如果没有,那么就这么说。请不要再有关于语义的答案!!!!!!JVM 或 .NET VM 规范内部专家请回答这个问题而不是教科书语义学家。

0 投票
2 回答
4797 浏览

java - Java内部类迭代器问题

我在使用 inner 时遇到了困难Iterator

然后,我尝试迭代它:

但它不起作用。(请参阅有问题的行上注释的编译器错误)。我在这里做错了什么?

在工程笔记上,解决我的问题的正确方法是什么?我有一堆这种形式的循环:

所以我决定一个Iterator会更干净。这是矫枉过正,还是有其他方法可以做到?

0 投票
5 回答
2240 浏览

java - 使用 GUI 内部类的标准?

我想知道内部类的标准做法(在 Java 中,但我想它适用于所有 OO 语言)。所以我有一个 JFrame 子类ControllerWindow,它包含一个MapPanel我绘制的 JPanel 子类(因此它需要覆盖paintComponent 方法)并且需要实现鼠标侦听器。我目前可行的解决方案是MapPanel在一个单独的类中实现 MouseListener 但是当我向前几天运行我课程的人展示这个时,他似乎认为(我们有一点语言障碍)这应该在一个内部类中在ControllerWindow或至少 MouseListener 应该是一个内部类。

所以我的问题是这里的标准解决方案是什么,将 MouseListener 放在内部类中,将 JPanel 放在不同的内部类中还是仍然在其单独的类中?在一个内部类中实现 MouseListener 的 JPanel?为什么?

对我来说最重要的是它有效,但如果可能的话,我想了解和理解这些东西背后的标准做法。

编辑:下面当前代码的非常简化的版本。

和一个单独的类:

这也可能是可以接受将两个类放在同一个文件中的情况吗?我不打算将MapPanel其用于ControllerWindow.

0 投票
2 回答
6396 浏览

java - “instanceof 的非法泛型类型”在内部类类型上使用 instanceof 时?

我在 NetBeans 中编写了如下代码:

错误出现在内部类“Par”的方法 equals() 中。

NetBeans 说错误是“instanceof 的非法泛型类型”。错误在下面的行中。

错误的原因是什么?