inner-classes相关内容

是什么导致错误“无法访问 Foo 类型的封闭实例"?我该如何解决?

我有以下代码: 类你好{类的东西{公共整数大小;事物() {大小 = 0;}}公共静态无效主要(字符串[]参数){事物事物 1 = 新事物();System.out.println("你好,世界!");}} 我知道 Thing 什么都不做,但是没有它我的 Hello, World 程序编译得很好.只有我定义的类在我身上失败了. 它拒绝编译.我得到 No enclosure instanc ..
发布时间:2022-01-30 09:01:53 Java开发

涉及内部类时 Java 继承如何工作

当存在内部类时,我无法理解 Java 中的继承是如何工作的.我目前正在研究子类需要稍微改变其父类的内部类的功能.我在下面提出了一个更简单的类比示例. 我希望这段代码打印“我是 ChildClass.InnerClass",但它却打印了“我是 ParentClass.InnerClass".为什么是这样?另外,如果我更改 main 中的 obj 对象为 ChildClass 类型,然后输出更改 ..
发布时间:2022-01-24 16:36:51 Java开发

如何从静态 main() 方法调用内部类的方法

尝试在父类中创建 1 个接口和 2 个具体类.这将使封闭类成为内部类. 公共类 Test2 {界面A{公共无效调用();}B类实现A{公共无效调用(){System.out.println("B 类内部");}}C 类扩展 B 实现 A{公共无效调用(){超级调用();}}公共静态无效主要(字符串[]参数){A a = 新 C();一个电话();}} 现在我不太确定如何在静态 main() 方 ..
发布时间:2022-01-24 16:09:41 Java开发

访问java内部类中的变量

我正在尝试创建一个 JLabels 数组,单击时它们都应该不可见.当试图通过需要访问用于声明标签的循环的迭代变量的内部类来设置鼠标侦听器时,就会出现问题.代码不言自明: for(int i=1; i 我认为我可以通过使用 this 或者 super 而不是调用 label[i] 来克服这个问题内部方法,但我一直无法弄清楚. 编译错误是:局部变量i是从内部类中访问的;需要声明为final ..
发布时间:2022-01-15 11:37:55 Java开发

为什么要在 C++ 中使用嵌套类?

有人可以指点我一些很好的资源来理解和使用嵌套类吗?我有一些像编程原则这样的材料 IBM 知识中心 - 嵌套类 但我仍然无法理解他们的目的.有人可以帮我吗? 解决方案 嵌套类非常适合隐藏实现细节. 列表: 类列表{上市:列表():头(nullptr),尾(nullptr){}私人的:类节点{上市:整数数据;下一个节点*;节点*上一个;};私人的:节点*头;节点*尾;}; 在这 ..
发布时间:2022-01-07 13:03:25 C/C++开发

为什么非静态内部类不能有静态成员(字段和方法)?

可能的重复: 为什么我们不能在内部类中有静态方法? 我知道创建一个非静态内部类对象需要一个外部类对象,并且创建的非静态内部类对象自动具有对外部类对象的隐藏引用.但是为什么非静态内部类不能有静态成员呢?Java设计者只需要禁止内部类的静态方法内部的非静态外部类字段的访问,它会更有意义,非? 如果内部类有静态成员没有意义,为什么内部类可以通过继承有静态成员的类来继承静态成员? 我读 ..
发布时间:2022-01-05 20:28:40 Java开发

C# 中的私有内部类 - 为什么它们不经常使用?

我对 C# 比较陌生,每次开始从事 C# 项目时(我只从事过近乎成熟的 C# 项目),我想知道为什么没有内部类? 也许我不明白他们的目标.对我来说,内部类——至少是私有内部类——看起来很像 Pascal/Modula-2/Ada 中的“内部过程":它们允许将主类分解成更小的部分,以便于理解. 示例:这是大多数时候看到的内容: 公共类 ClassA{公共方法A(){myOb ..
发布时间:2022-01-04 11:26:20 C#/.NET

实例化内部类的奇怪语法

我没想到在这个阶段我会在 Java 中遇到全新的语法,但是你瞧,我只是遇到了一些事情: 确切的上下文和下面的代码应该做什么是无关紧要的——它只是为了提供某种上下文. 我试图在 IT Mill Toolkit 中综合创建一个事件,所以我写了这样一行: buttonClick(new Button.ClickEvent(button)); 但是,Eclipse 给了我以下错误消息: ..
发布时间:2021-12-30 15:32:20 Java开发

我可以使用某些语法访问匿名内部类中的新方法吗?

是否有任何 Java 语法可以从外部类访问匿名内部类中定义的新方法?我知道可以有多种解决方法,但我想知道是否存在特殊语法? 例如 class Outer {ActionListener 监听器 = 新 ActionListener() {@覆盖void actionPerformed(ActionEvent e) {//做一点事}//方法是公共的,所以可以访问公共无效MyGloriousM ..
发布时间:2021-12-29 19:25:57 Java开发

是否可以在 Java 静态中创建匿名内部类?

在 Java 中,嵌套类可以是 static 也可以不是.如果它们是static,则它们不包含对包含实例的指针的引用(它们也不再称为内部类,它们称为嵌套类). 在不需要引用时忘记创建嵌套类 static 会导致垃圾收集或逃逸分析问题. 是否也可以创建一个匿名内部类 static ?还是编译器会自动计算出来(它可以,因为不能有任何子类)? 例如,如果我制作一个匿名比较器,我几乎不需 ..
发布时间:2021-12-29 19:05:57 Java开发

为什么我不能在 Java 的内部类中创建枚举?

我尝试做的是: 公共类历史{公共类状态{公共枚举 StateType { Eclipse 在 StateType 上给了我这个编译错误:必须在静态成员类型中定义成员枚举 StateType. 当我将 State 类设为静态时,错误就会消失.我可以将 State 设为静态,但我不明白为什么我不能在内部类中声明 enum. 解决方案 enum 定义为嵌套类型的类型总是隐式static ..
发布时间:2021-12-29 16:49:45 Java开发

如何解决“需要包含 X.Y 的封闭实例"?

我正在 Netbeans 中开发一个小型桌面应用程序.这是我的第一个程序,我面临着一种非常奇怪的错误.我知道我做错了什么,但无法追踪我做错了什么:( 请帮助我解决此错误. 说明:我有一个默认包 Src 并且我正在根据需要在这个包中创建新的 Java 类.与其他类一起,我创建了一个 X 类,如下所示: 公共类X{公开课 Y{//这里存在一些成员函数和变量}公共课 Z{//这里存在一些成 ..
发布时间:2021-12-26 14:56:37 Java开发

Java 反射:如何检索匿名内部类?

我在另一个类(SomeClass)中有一个匿名内部类. SomeClass.class.getClasses() 和 SomeClass.class.getDeclaredClasses() 都返回空数组. 我在 Class 的 Javadocs 中找不到关于此的一些提示. 匿名内部类可以以某种方式使用反射来检索吗? 匿名内部类和普通内部类之间还有哪些显着区别? 解决 ..
发布时间:2021-12-26 14:32:51 Java开发

参考Scala中内部类的类型

以下代码试图模仿 DSL 的多态嵌入:它不是在 Inner 中给出行为,而是在其封闭类的 useInner 方法中编码.我添加了 enclosure 方法,这样用户只需保留对 Inner 实例的引用,但始终可以获取它们的封闭实例.通过这样做,来自特定 Outer 实例的所有 Inner 实例都只绑定到一个行为(但这里需要它). 抽象类外{密封类内部{def 封闭 = Outer.this}def ..
发布时间:2021-12-25 13:22:04 其他开发

用作接口替代品的内部类示例

有人告诉我的话激发了我对这个话题的好奇心: Java gui 类可以实现数百个侦听器和回调函数,许多书籍教您在 gui 类中实现所有这些接口.或者,这些方面可以在内部类中实现,因此侦听器调用的方法不会混淆. 我想知道如何在没有内部类但有私有类的 ActionScript 中执行此操作.但是,我认为我并没有完全理解内部类是什么,所以我只是试图围绕我会使用它们来组织类的方法的情况. ..
发布时间:2021-12-17 10:21:13 Java开发

“非静态变量 this 不能从静态上下文中引用"创建对象时

我编写了以下代码来测试 Java 中类和对象的概念. 公共类 ShowBike {私人班自行车{公共整数齿轮= 0;公共自行车(int v){齿轮= v;}}公共静态无效主(){自行车自行车 = 新自行车(5);System.out.println(bike.gear);}} 为什么在编译过程中会出现以下错误? ShowBike.java:12:不能从静态上下文中引用的非静态变量自行车自行车 ..
发布时间:2021-12-12 08:08:03 Java开发

接口内的内部类

是否可以在接口内创建内部类? 如果可能的话,我们为什么要创建一个内部类,因为我们不打算创建任何接口对象? 这些内部类对任何开发过程有帮助吗? 解决方案 是的,您可以在 Java 接口中创建嵌套类或内部类(请注意,与流行的看法相反,没有诸如“静态内部类"之类的东西:这根本没有意义,当嵌套类是静态的时,没有“内部"和“外部"类,因此它不能是“静态内部"). 无论如何,以下编译正常 ..
发布时间:2021-12-11 23:53:46 Java开发

在 XAML 中创建嵌套类的实例

在 XAML 文件(WPF UserControl)中,有没有办法引用在另一个类“A"中定义的内部类“B"? 公共类A{公开课 B{}} 类似: 此语法不起作用,因为“B"被解释为类“A"中名为“B"的属性. 我尝试过更奇特的语法,如“::"或“+",但似乎都不起作用. 我目前使用 Silverlight 4 和 VS2010. 预先感谢您的帮助. 解决方案 我 ..
发布时间:2021-12-11 20:19:35 其他开发