inner-classes相关内容

Java内部类和静态嵌套类

Java 中内部类和静态嵌套类的主要区别是什么?设计/实施是否会在选择其中之一时发挥作用? 解决方案 来自 Java 教程: 嵌套类分为两类:静态和非静态.声明为静态的嵌套类简称为静态嵌套类.非静态嵌套类称为内部类. 使用封闭类名访问静态嵌套类: OuterClass.StaticNestedClass 例如,要为静态嵌套类创建对象,请使用以下语法: OuterClass ..
发布时间:2021-11-22 14:52:40 Java开发

从内部类对象获取外部类对象

我有以下代码.我想获取外部类对象,我使用它创建了内部类对象 inner.我该怎么做? public class OuterClass {公共类内部类{私人字符串名称 = "Peakit";}公共静态无效主(字符串 [] args){OuterClass 外 = 新的 OuterClass();InnerClass 内部 = 外部.new InnerClass();//如何获取与创建内部对象相同的 ..
发布时间:2021-11-19 22:52:23 Java开发

最终和有效最终之间的区别

我在 Java 8 中使用 lambdas 并遇到警告从 lambda 表达式引用的局部变量必须是最终的或有效的最终.我知道当我在匿名类中使用变量时,它们在外部类中必须是 final,但是 - final 和 effectively final 之间有什么区别? 解决方案 ... 从 Java SE 8 开始,本地类可以访问最终或有效最终的封闭块的局部变量和参数.在初始化后值永远不会改 ..
发布时间:2021-11-19 22:44:16 Java开发

Java - 无法访问 Foo 类型的封闭实例

我有以下代码: class 你好{类事物{公共整数大小;事物() {大小 = 0;}}公共静态无效主(字符串 [] args){Thing thing1 = new Thing();System.out.println("你好,世界!");}} 我知道 Thing 什么都不做,但是我的 Hello, World 程序在没有它的情况下编译得很好.只有我定义的课程失败了. 它拒绝编译.我在创 ..
发布时间:2021-11-19 22:34:21 Java开发

Java内部类和静态嵌套类

Java 中内部类和静态嵌套类的主要区别是什么?设计/实施是否会在选择其中之一时发挥作用? 解决方案 来自 Java 教程: 嵌套类分为两类:静态和非静态.声明为静态的嵌套类简称为静态嵌套类.非静态嵌套类称为内部类. 使用封闭类名访问静态嵌套类: OuterClass.StaticNestedClass 例如,要为静态嵌套类创建对象,请使用以下语法: OuterClass ..
发布时间:2021-11-19 22:26:04 Java开发

Scala 闭包与 Java 内部类相比 ->最终 VS 变量

我首先问了这个关于在 Java 中将 final 与匿名内部类一起使用的问题:为什么我们对匿名内部类使用 final 关键字? 我实际上正在阅读 Martin Odersky 的 Scala 书.Scala 似乎简化了很多 Java 代码,但对于 Scala 闭包,我可以注意到显着差异. 虽然在 Java 中我们用匿名内部类“模拟"闭包,捕获最终变量(它将被复制到堆上而不是堆栈上),但 ..
发布时间:2021-11-10 23:33:09 Java开发

带接口的匿名类

在处理匿名内部类时,我对接口的概念感到困惑.据我所知,你不能在Java中实例化一个接口,所以下面的语句会出现编译错误 ActionListener action = new ActionListener();//编译错误 当它处理匿名类时会发生什么?为什么它允许使用new?例如: JButton button = new JButton("A");button.addActionList ..
发布时间:2021-11-10 23:33:00 Java开发

实现一个内部匿名动作监听器

我一直在尝试实现上面提到的这个动作监听器,但一直收到两个错误: -不能实例化类型ActionListener-void 是变量 incrementAction 的无效类型 我一直在查找类似的示例,但它们似乎都指向了相同的实现方法.这就是我必须去的地方. increment.addActionListener(new ActionListener());{public void increm ..
发布时间:2021-09-02 20:43:51 Java开发

用嵌套类继承模板类

我想创建一个从模板类A继承的类B.并且我希望B的嵌套类E作为此继承中的模板参数.更加直观: 模板A类{}B级:公共A{E级{int x;}}C级:公共A.{E级{int x;int y;}} 我认为问题在于编译器在处理B的声明时不知道类B将具有嵌套类E,因为我遇到了错误: 在"B"中没有名为"E"的成员 我已经看到了这个类似 ..
发布时间:2021-05-16 18:36:00 C/C++开发

java.lang.NoClassDefFoundError:在匿名内部类中

我正在VMWare服务器内的带有sun/oracle JVM 1.6_23的Linux Red Hat上运行此代码. 一段时间后,JVM似乎无法访问我的匿名内部类. 我的类路径很好,因为它可以工作一段时间. 我得到的只是这样的错误: java.lang.NoClassDefFoundError : com/mycompany/impl/MyClassImpl $ 1 在 c ..
发布时间:2021-05-16 18:35:51 Java开发

在Scala中,如果以家庭外部类型声明了案例类的通用复制函数,该如何调用呢?

这是由路径相关的类型引起的scala问题:考虑到我有一个家庭类型: 特征外部{案例类Inner(v:Int){val external = Outer.this}} 如果我想在 Outer 的实例未知时调用 Outer#Inner.copy(): def cp(src:Outer#Inner)= {src.copy()} 我会遇到编译错误.因为src.copy()的类型签名附加到其外 ..
发布时间:2021-05-16 18:35:48 其他开发

@Autowired在内部类中不起作用

我在内部类中有一个@Autowired的类.但是在执行时会引发Null Pointer Exception,而在外部类中自动连线时它会很好地工作 class外部{...内部类{@Autowired私人var somevar;私人程序(){somevar.someMethod();}} 有人知道为什么这行不通吗? somevar.someMethod(); 行正在生成NPE. 解决方案 ..
发布时间:2021-05-16 18:35:44 Java开发

python:嵌套类:访问外部类的类成员

这不起作用: A类:a1 = 4B级:b1 = A.a1#失败b2 = 6C级:c1 = A.B.b2#失败 有任何非神秘的方法可以解决吗?我知道我可以从A中取出B和C,但我想保留它们.我还认为没有类成员会更容易,因为它们可以轻松地作为构造函数中的参数传递给嵌套类,但是作为所有这些类成员,我不知道如何在这里做类似的事情.我还在某个线程上读到了这种用法,它记得使用类作为名称空间,应该使用模块 ..
发布时间:2021-05-16 18:35:41 Python

使Bloch的构建器模式成为线程安全的:如果从未失效,则在封闭构造器时需要重新检查吗?

我最近了解到Joshua Bloch的构建器模式,用于创建带有许多可选字段的对象.多年来,我一直在使用类似的东西,但是直到Bloch的书向我推荐它之前,我从未使用过内部类.我喜欢它. 我了解到另一个线程可能会在实际构建bulider之前更改其配置(使用 build()),因此可能有必要重新验证封闭构造函数中的所有值班级.下面是一个生成器类的示例,该类可以有选择地重新验证其数据. 所以我 ..
发布时间:2021-05-16 18:35:35 Java开发

Android活动作为内部类

我正在尝试将Android Activity 声明为内部类.此 Activity 仅应由包含的类产生,并且需要访问其某些私有方法(我真的不想公开的方法).当尝试生成它时,我得到了: java.lang.InstantiationException:无法实例化com.foo.bar.baz $ MyActivity类;没有空的构造函数 该活动已在我的清单中正确声明.难道这在Android中是 ..
发布时间:2021-05-16 18:35:31 移动开发

为什么我们不能以常规方式在外部类的main方法内创建内部类的实例?

我知道如何创建一个内部类的实例.但是我想知道为什么我们不能通过以下方式做到这一点: class externalclass {公共静态void main(String [] args){innerclass in =新的innerclass();}内部类类{}} 如果执行此操作,则会出现以下错误: 无法访问外部类类型的封闭实例.必须使用外部类类型的封闭实例来限定分配(例如x.new A( ..
发布时间:2021-05-16 18:35:28 Java开发

基于内部类中的类型参数的类型声明

Java阴影类型参数吗?我发现很难自我测试,因为Java泛型无法在运行时得到验证. 例如,给出以下代码: 公共类NestedGeneric{私有InnerGeneric TinnerGenericInstance;私有静态类InnerGeneric{公共T innerGenericField;}NestedGeneric(){innerGenericInstance =新的 ..
发布时间:2021-05-10 18:53:52 Java开发

外层阶级呼唤内层阶级的方式

我知道要实例化一个成员内部类,您有两个不同的构造函数: 第一: Outer out = new Outer();Outer.Inner in = out.new Inner(); 第二: Outer.Inner in = new Outer().new Inner(); 现在,我不知道为什么编译此代码: 公共类外部{private String greeting ="Hi" ..
发布时间:2021-04-24 19:24:40 Java开发