anonymous-class相关内容
在Java中,接口仅包含方法类型,名称和参数.实际的实现在实现它的类中完成.在这种情况下,如何创建接口实例并像使用类对象一样使用它呢?有许多这样的接口,例如 org .w3c.dom.Node . 这是我正在使用的代码: DocumentBuilderFactory fty = DocumentBuilderFactory.newInstance(); fty.setNamespace
..
Java允许您在匿名类中声明新字段,但是我不知道如何从外部访问它们,即使将它们设置为public也不允许我这样做. class A { public static void main(String[] args) { Object o = new Object() { public int x = 0; {
..
我有一个要求,其中28个线程必须完成某些功能.我已经在匿名内部类(如: )中创建了这些线程 Thread t=new Thread(new Runnable(){public void run() {//code }} );
..
这听起来像是一个愚蠢的问题,但是所有匿名类都必须在现有类中定义和实例化;因此,它们必须同时是内部类. 解决方案 这是真的.您的匿名类不能作为单独的类在其他类之外实现,因为它是匿名的,您甚至无法以任何方式对其进行引用. 其他信息: 来自JLS:匿名类始终是内部类(第8.1.3节);它永远不会是静态的(第8.1.1节,第8.5.1节).
..
当我尝试在Java中的abstract class上做一些示例时,我不小心得到了类似Eclipse中的匿名内部类之类的东西. 我在下面粘贴了这段代码.我不明白abstract class与匿名类之间的关系. package com.Demo; abstract class OuterClass { abstract void OuterClassMethod(); } pu
..
根据JLS: 15.9.5匿名类声明匿名类声明是由类实例创建表达式自动派生的. 编译器. 匿名类从不抽象(第8.1.1.1节).匿名课程是 始终是内部类(第8.1.3节);它永远不是静态的(第8.1.1节,第8.5.2节). 匿名类始终是隐式最终的(§8.1.1.2). 这似乎是一个特定的设计决定,所以很可能有一定的历史. 如果我选择上这样的课: SomeType f
..
美好的一天! 我有一个仅实现一种方法的接口。我不想制作几个都实现一个方法的类,因此我决定改用匿名类。 我对某些静态项目使用枚举,这些枚举有实例我的界面。但是,当我尝试在枚举常量中创建一个匿名类时,我的IDE(eclipse)实际上并没有告诉我任何事情(好像它在代码块之外)。 问题如下:我可以在枚举常量中使用匿名类吗? 如果我的文字不清楚(对不起,我不是英语),请参阅
..
不幸的是,我已经有五年没有编写Java编码了,我绝对不记得以下代码的工作方式或原因。 我偶然发现了一个类似的例子并将其分解为重点放在注释下面的部分:我没有得到构造函数符号,其后是放在方括号中的块。不幸的是,我在Java文档中或使用Google都找不到任何东西(我应该用谷歌搜索什么词?)。 包语法测试; 公共类Main { public static void main(St
..
我们知道在匿名类中只能访问最终的局部变量,并且在这里有充分的理由:为什么只能在匿名类中访问最终变量?。 但是,我发现一个匿名类如果变量是封闭类的成员字段,则仍可以访问非最终变量:如何从匿名类内部访问封闭的类实例变量? 我很困惑。我们确保匿名类中只能访问最终的局部变量,因为我们不希望该变量在匿名类和本地函数之间不同步。如果我们尝试访问匿名类中的非最终封闭类成员,则同样的原因也适用于这种情
..
在C ++中,我可以在需要的一段代码中声明一个功能齐全的匿名类,这样,如果只需要一次,就不必声明它。 代码应该是这样的 Class MyClass { Class { 字符串string1; 字符串string2; void MyMethod(); }字符串; } 并使用 MyClass.Strings称为成员。 string1 , MyC
..
是否可以使用C ++中的匿名类作为返回类型? 我在Google上搜索这可能有效: struct Test {} * fun() { } 但是这段代码无法编译,错误消息是: 可能无法在返回类型中定义新类型 实际上,代码没有任何意义,我只想弄清楚是否可以将匿名类用作C ++中的返回类型. 这是我的代码: #include #include
..
据我了解,内部匿名类(但在其外部声明)中使用的任何变量实际上都传递其值的副本.还要求将这些外部变量声明为final,这显然意味着这些变量不打算被修改. 但是有什么解决方法吗?我的匿名内部类是否可以实际修改某些变量或对象,以便稍后在我的代码中使用(匿名类之外)?还是在匿名类之外看不到这些修改? 解决方案 您所指的行为仅适用于局部变量或方法/捕获参数.您可以很好地访问并可能修改实例成员
..
你好,我是 android 的新手,在活动上下文中我对此关键字感到困惑.这是一个代码段,当按下按钮时,该代码段仅打印到屏幕上.但是工作室提出了一个问题. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layou
..
我对匿名类和lambda表达式的不同行为感到困惑. 当我使用lambda表达式时: //Test.java Runnable r1 = () -> System.out.println(this); Runnable r2 = () -> System.out.println(toString()); @Override public String toString() {
..
在使用LinqPad时,我有一个Select x, Extra=f(y)查询,我想在其中返回x的所有属性(和字段),并返回与Extra相同的级别,而不是分别作为x和Extra属性(或字段). 可以做到吗? 即我想要Select x.p1, x.p2, Extra=f(y)而不用输入太多. 请注意,x的类型实际上可能是匿名的,也可能不是匿名的,只是有点不透明或太大而无法手动复制.由
..
我有一个正在测试的类,其中包含一个具有内部匿名类的方法.匿名类中的一种方法从被测类中调用一种方法,但是Mockito似乎没有意识到这一点. public class ClassUnderTest { Dependency dependency; public ClassUnderTest(Dependency d) { dependency = d;
..
据我了解,以下代码应已将true打印为输出. 但是,当我运行这段代码时,它正在打印false. 从匿名类15.9.5. : 匿名类始终是隐式终结的 public class Test { public static void main(String args[]) { Object o = new Object() { };
..
如何从AbstractActionClass中访问包含函数initTimer()的类的所有成员字段? 谢谢 private void initTimer() { Action updateClockAction = new AbstractAction() { public void actionPerformed(ActionEven
..
Java中匿名类的用途是什么?我们可以说使用匿名类是Java的优势之一吗? 解决方案 通过“匿名类",我认为您的意思是当使用某些“扩展名"(例如,覆盖方法)创建对象的实例时,匿名内部类会变得很有用,而不必实际子类化. 我倾向于将它用作附加事件侦听器的快捷方式: button.addActionListener(new ActionListener() { @Overri
..
在Java中,通常编写以下代码(例如,用于事件处理)以利用模板方法模式: 抽象类SomeAbstractClass { public abstract void SomeFunction(); } // ... SomeAbstractClass obj = new SomeAbstractClass(){ public void SomeFunction(){/ *实
..