60得票13回答
内部类的目的是什么?

我正在审查Java中的内部类的概念。目前为止,从我理解和应用的角度来看,Java内部类与其外部/封闭类的方法和字段有关或可访问。 我的问题: 在什么情况下应该创建或定义内部类? 内部类是否被认为是“帮助类”? 您制作内部类的指标是什么,它们的其他目的是什么?

58得票10回答
在这种情况下,我应该使用嵌套类吗?

我正在开发一组用于视频播放和录制的类集合。我有一个主类,它充当公共接口,具有像play()、stop()、pause()、record()等方法。然后我有工作类来进行视频解码和视频编码。 我刚刚了解到C++中嵌套类的存在,并且很想知道程序员对使用它们的看法。我有点谨慎,不太确定利弊是什么,但...

57得票1回答
Intellij提取内部类

使用IntelliJ或Android Studio的用户如何提取公共静态内部类以创建新的顶层类? 谢谢。

56得票3回答
实例化内部类

我正在处理一个覆盖hashCode和equals方法的示例问题,但出现了错误:"No enclosing instance of type CustomHashCodeExample is accessible. Must qualify the allocation with an encl...

52得票3回答
为什么嵌套的子类可以访问父类的私有成员,但孙子类却不能?

可能与这个问题类似:为什么外部Java类可以访问内部类的私有成员? 或者 使用子类中的super关键字访问超类私有字段。 但是有一些区别:子类可以访问其父类(仅限于最近的父类)的私有成员。 给定下面的示例代码: public class T { private int t; ...

49得票2回答
内部类应该放在哪里?

有些人可能会认为这是史上最不重要的问题之一。但是对我来说,代码风格是一个非常重要的话题,我希望能确保我以一种易于阅读的方式编写代码,让自己和大多数开发人员都能够理解。 这就是为什么我想知道你们在哪里声明内部类的原因。 我遵循以下方法排序方案,因为这是相当普遍的:public void fo...

45得票6回答
非静态类无法从静态上下文中引用

可能是重复问题: 为什么我会收到“非静态变量this不能从静态上下文中引用”的错误消息? 以下是代码:public class Stack { private class Node{ ... } ... public stat...

44得票6回答
方法局部内部类 vs 内部类

下面的代码产生输出“middle”。有人能详细解释一下这是如何发生的吗? 这是因为在go() 方法中创建了A类的实例之后,"inner"版本的A类声明出现了。class A { void m() { System.out.println("outer"); }...

44得票3回答
使用Java反射实例化私有内部类

通过Java反射技术,能否从另一个类中实例化一个私有内部类。例如,如果我有以下代码:public class Main { public static void main(String[] args) {} } class OtherClass { private class...

43得票6回答
实例化内部类的奇怪语法

我没想到在Java的这个阶段还会遇到完全不同的语法, 但是我刚刚遇到了: 下面代码的确切上下文和它应该做什么不太相关 - 它只是为了提供一些背景。 我正在试图在IT Mill Toolkit中合成一个事件,所以我写了下面这行代码:buttonClick(new Button.ClickEv...