问题标签 [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 投票
2 回答
392 浏览

java - 将嵌入 java 类的对象作为参数传入

我正在构建一个 android 应用程序,它有一个列表视图,在列表视图中,一个点击监听器,包含一个 onItemClick 方法。所以我有这样的事情:

通常,这可以正常工作。然而,很多时候我发现自己需要使用外部类作为上下文来执行应用程序。到目前为止,我使用过:

这样做,但我想知道,这是一个坏主意吗?我真的不能打电话:

因为它不是真正的子类,只是一个嵌入式子类。那么有没有更好的方法,或者这被认为是可靠的?另外,如果是正确的方法,如果嵌入的方法没有获取外部类的参数怎么办?

谢谢你。

0 投票
3 回答
1680 浏览

python - 如果内部类被定义为顶级类的属性,如何覆盖内部类方法

我有一个这样的代码片段

而且我想覆盖内部类b(请不要担心小写名称)行为。比如说,我想添加一个新方法或者我想更改现有方法,例如:

现在,如果我将C's 对象创建为c = C(),并调用c.b我得到TypeError: 'property' object is not callable error. 我将如何通过这个和print_hello扩展内部类的调用?免责声明:我不想更改A课程代码。

更新:基类“A”试图模拟我在其中一个开源 api 中看到的类。所以这就是为什么我不想更改核心 api,而是根据我自己的要求对其进行扩展。

0 投票
5 回答
631 浏览

java - Java 内部类

我是 Java 新手,对内部类有以下疑问:

实现内部类时,是否需要声明其属性和方法范围,即公共、私有、受保护?

编辑:由于没有委托(如在 C# 中),有人可以提到如何最好地在 Java 中实现一个能够在多个表单(Jframe)之间进行通信的消息传递系统?

我已经读过我可以为此使用内部类,但我也被告知我不应该实现超过几行大小的内部类。我应该去哪个学校?

0 投票
7 回答
2378 浏览

c# - 为什么我们使用内部类?

我想问你为什么我们需要内部类以及为什么我们使用它们?
我知道如何使用内部类,但我不知道为什么..

0 投票
5 回答
24006 浏览

java - 如何从内部类访问外部类的“this”?

是否可以this从 Java 内部类中获取引用?

IE

0 投票
3 回答
1101 浏览

java - 如何使内部类无法实例化?

我想要一个即使外部类也无法实例化的静态内部类。现在我只有一个文档,上面写着“请不要实例化这个对象”。我能给出更好的信号吗?

0 投票
1 回答
532 浏览

c++ - Visual C++ 中同名内部类的问题

我对 Visual C++ 2005 有一个问题,显然内部类具有相同的名称但在不同的外部类中被混淆了。

该问题发生在两层,其中每一层都有一个侦听器接口作为内部类。B 是 A 的侦听器,并且在其上方的第三层(未显示)中有自己的侦听器。

代码结构如下所示:

溴化氢

A::Listener() 和 A::~Listener() 在 A.cpp 中定义。

B.cpp

我得到错误

Renesas sh2a 的 C++ 编译器对此没有任何问题,但在其他一些方面它也比 Visual C++ 更自由。

如果我将侦听器接口重命名为具有不同的名称,问题就会消失,但我想避免这种情况(真正的类名而不是 A 或 B 相当长)。

我正在做的 C++ 是否正确,或者 Visual C++ 的投诉是否合理?

有没有办法在不重命名监听器接口的情况下解决这个问题?

0 投票
3 回答
6649 浏览

java - 类访问内部类私有?

如果外部类可以访问内部类私有成员,那么使用 set 和 get 方法的目的是什么?将内部类设为私有的目的是什么?包访问?

0 投票
3 回答
5314 浏览

java - java如何实现内部类闭包?

在 Java 中,匿名内部类可以引用其本地范围内的变量:

我的问题是这实际上是如何实现的?如何i获得匿名内部doAction实现,为什么必须这样做final

0 投票
5 回答
4604 浏览

java - Java:非静态嵌套类和 instance.super()

我很难理解Java中的非静态嵌套类。考虑以下示例,它先打印“Inner”,然后打印“Child”。

我知道 Inner 的实例总是必须与 Outer 实例相关联,这也适用于 Child,因为它扩展了 Inner。我的问题是o.super()语法的含义 - 为什么它调用内部构造函数?

我只见过一个普通的super(args)用于调用超类构造函数和super.method()调用超类版本的重写方法,但从未见过这种形式的东西instance.super()