anonymous-inner-class相关内容
因此,在研究 lambda 表达式并使用它们替换 Java 中的 EventHandler 的匿名内部类时,我遇到了一些让我停下来思考的匿名内部类.例如,当为通常实现 ActionListener 的东西编写匿名内部类时,我们写 myJButton.addActionListener(new ActionListener() {@覆盖public void actionPerformed(Act
..
所以我刚刚在网上找到了这个代码示例,我再次回顾它但很困惑. 从观察来看,我收集到的(可能是错误的)是它传递给 NumberPrinter 类中的打印方法一个打印机对象.不过接口也叫Printer,那我们不就是实例化一个Printer接口的匿名类,定义方法然后传递吗? 我的基本问题是,我最初的假设是否正确?如果是这样,我认为您无法实例化接口? 公共类 NumberPrinter {公共
..
我有一个枚举类型类: 公共枚举操作{加号(){@覆盖双申请(双x,双y){//错误:无法进行静态引用//到非静态方法 printMe()...打印我(x);返回 x + y;}};私人无效printMe(双VAL){System.out.println("val = " + val);}抽象双申请(双x,双y);} 如上所示,我定义了一个 enum 类型,其值为 PLUS.它包含一个特定于常量
..
在Java中我有以下代码 ListmyList = new ArrayList();for (int i=0;i {总和 = 总和 + i;//不编译,sum 需要为 final 或有效 final});for(int i : myList) {总和 = 总和 + i;//运行没有问题} 我的问题是,为什么我无法从 lambda 内部更改 sum 的值?它与下面的 for 循环完全相同,还是我
..
在以下代码段中: public class a {public void otherMethod(){}public void doStuff(String str, InnerClass b){}公共无效方法(一){doStuff("asd",新的内部类(){公共无效内部方法(){其他方法();}});}} 有没有关键字从内部类引用外部类?基本上我想做的是 outer.otherMethod
..
Java 中匿名类有什么用?可以说匿名类的使用是Java的优势之一吗? 解决方案 “匿名类",我认为你的意思是 匿名内部类. 匿名内部类在创建具有某些“额外"(例如覆盖方法)的对象实例时非常有用,而无需实际对类进行子类化. 我倾向于将其用作附加事件侦听器的快捷方式: button.addActionListener(new ActionListener() {@覆盖publi
..
在转换由 DependencyFinder 和 java-callgraph 等库生成的 java 调用图时,我发现 java 编译器会为匿名函数、内部类等生成名称. 我已经找到了其中几个的意思(如果我错了,请纠正): org.example.Bar$Foo指的是Foo,它是org.example.Bar的内部类. org.example.Bar$1 指的是在 org.example
..
我正在使用 Eclipse,并且我已经使用 SWT 编写了一个 Java 应用程序.当 Eclipse 编译我的程序时,它将我的主文件重命名为 4 个不同的文件,如下所示: MainFile.class MainFile$1.class MainFile$2.class MainFile$3.class 当我从命令行运行这个程序时,我得到 找不到主类:MainFile.clas
..
Java 中匿名类有什么用?可以说匿名类的使用是Java的优势之一吗? 解决方案 “匿名类",我认为你的意思是 匿名内部类. 匿名内部类在创建具有某些“额外"(例如覆盖方法)的对象实例时非常有用,而无需实际对类进行子类化. 我倾向于将其用作附加事件侦听器的快捷方式: button.addActionListener(new ActionListener() {@覆盖publi
..
在Java中,我有以下代码 List myList = new ArrayList(); for (int i=0;i { sum = sum + i; // does not compile, sum needs to be
..
实例化类Person时发生了什么?什么是匿名内部类? abstract class Person { abstract void eat(); } class TestAnonymousInner { public static void main(String args[]) { Person p = new Person() {
..
如何从AbstractActionClass中访问包含函数initTimer()的类的所有成员字段? 谢谢 private void initTimer() { Action updateClockAction = new AbstractAction() { public void actionPerformed(ActionEven
..
比方说,我有以下两个类/接口定义: public abstract class FooClass { public abstract void doFoo(); } 和 public interface BarInterface { public void doBar(); } 如果我想创建一个既扩展又实现了两者的匿名内部类,则需要这样做: publi
..
我想做的是执行onSuccess方法时,queryLogin返回true,而如果执行onFailuer方法,则queryLogin返回false; 但是,正如您所知,在Java中,我无法从内部类修改外部类的值.所以我只是想知道如何解决这个问题并实现我的目标. public static boolean queryLogin(String username, String passowrd)
..
我有这些代码行.我知道您不能将非最终变量传递给内部类,但是我需要将变量i传递给匿名内部类以用作SeatingID.你能建议这样做的方法吗? JButton [] seats = new JButton [40]; //creating a pointer to the buttonsArray for (int i = 0; i
..
OCP学习指南一书中有一个有关Comparator的示例,该示例可以通过两种方式初始化.第一种是通过这样的匿名类: Comparator byWeight = new Comparator(){ public int compare(Duck d1, Duck d2){ return d1.getWeight() - d2.getWeight(
..
Java中匿名类的用途是什么?我们可以说使用匿名类是Java的优势之一吗? 解决方案 通过“匿名类",我认为您的意思是当使用某些“扩展名"(例如,覆盖方法)创建对象的实例时,匿名内部类会变得很有用,而不必实际子类化. 我倾向于将它用作附加事件侦听器的快捷方式: button.addActionListener(new ActionListener() { @Overri
..
我们都知道您不能做这样的事情: int a = 7; new Runnable() { public void run() { System.out.println(a); } }.run(); ... ...没有将a定为最终值.我知道其中的技术原因,这是因为局部变量存在于堆栈中,除非您知道它不会更改,否则您将无法安全地进行复制. 然而,我很难
..
Class A{ public void test(){ B b = new B(); System.out.println( "Class Name: " + b.createClassC().getClass() ); } } Class B{ public C createClassC(){ C c = new C(){ @Override
..
为什么第一种方法是正确的,但是第二种方法却不正确? 第一种方式: new Object() { public void a() { /*code*/ } }.a(); 第二种方式: Object object = new Object() { public void a() { /*code*/ } }; ob
..