18得票4回答
从内部匿名类访问外部匿名类

我只是好奇。在另一个匿名类中的匿名类中是否有一种方法可以访问父类? 我制作了这个例子,创建了一个JTable子类(匿名类),覆盖了changeSelection,并在其中创建了另一个匿名类。 MCVE:public class Test{ public static void m...

17得票2回答
变量"effectively final"是什么意思?

匿名类的文档中指出: 一个匿名类不能访问其封闭范围内未声明为 final 或有效 final 的局部变量。 我不理解什么是“有效 final”。有人能提供一个例子帮助我理解吗?

17得票4回答
所有的最终变量都会被匿名类捕获吗?

我原以为我知道这个答案,但是搜了一个小时左右也没找到确认的资料。 在这段代码中:public class Outer { // other code private void method1() { final SomeObject obj1 = new ...

16得票2回答
动态构建匿名类的混淆问题

我正在尝试使用反射来创建匿名类的实例。但有时候在实例化过程中会出现奇怪的行为。 请看这些相似的代码片段:public class HideAndSeek { @SuppressWarnings("unchecked") public static void main(Str...

16得票1回答
定义匿名结构体是否合法?

以下代码是否合法?:struct { int x; }; 这段代码仅仅定义了一个没有名字的结构体。我不打算创建该类型的对象,也不需要以其他方式使用此结构。它只是作为某些复杂宏扩展的副作用出现在源代码中。 虽然这个结构体毫无用处,但我认为没有问题。它只是另一段可以编译并完全优化掉的代...

16得票3回答
匿名类引发的NotSerializableException

我有一个用于筛选项目的接口:public interface KeyValFilter extends Serializable { public static final long serialVersionUID = 7069537470113689475L; public...

16得票4回答
为什么匿名类可以访问封闭类的非final成员?

我们知道只有最终的本地变量才能在匿名类中访问,这里有一个很好的原因: 为什么只有最终变量可以在匿名类中访问?. 然而,我发现如果变量是封闭类的成员字段,则匿名类仍然可以访问非最终变量: 如何从匿名类内部访问封闭类实例变量? 我感到困惑。我们确保只有最终本地变量才能在匿名类中访问,因为我们不...

16得票3回答
使用匿名类型和用户定义类型的 LINQ select 查询

在C#中,匿名类具有只读属性。这通常用于在LINQ选择查询中声明以从数据库获取特定值。在我的代码中,我有以下查询。让我感到困惑的是使用new语句选择新对象的匿名类。我有一个StudentClerkshipsLogModel模型类。当我使用模型名称时,查询结果允许编辑。var query = (...

15得票3回答
当一个没有引用其封闭类的匿名类从实例方法返回时,它具有对“this”的引用。为什么?

当从实例方法返回一个没有引用其封闭类的匿名类时,它将具有对this的引用。为什么?考虑以下代码:package so; import java.lang.reflect.Field; public class SOExample { private static Object g...

14得票8回答
为什么在Java中向匿名类添加公共字段不起作用?

我有一个类的示例,定义如下:public class FooBar { void method1(Foo foo){ // Should be overwritten ... } } 后来,当我尝试这样做时:FooBar fooBar = new FooBar(){ p...