相关疑难解决方法(0)

280
推荐指数
8
解决办法
8万
查看次数

如何将参数传递给匿名类?

是否可以传递参数或访问外部参数到匿名类?例如:

int myVariable = 1;

myButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        // How would one access myVariable here?
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法让侦听器访问myVariable或传递myVariable而不将侦听器创建为实际的命名类?

java anonymous-class

143
推荐指数
7
解决办法
9万
查看次数

实例初始化器与构造函数有何不同?

换句话说,为什么需要实例初始化器?在构造函数上编写实例初始化程序有什么区别或优势?

java instantiation

71
推荐指数
3
解决办法
2万
查看次数

匿名类Java中的匿名代码块

可能重复:
Java中的Double Brace初始化是什么?

在查看一些遗留代码时,我遇到了一些令人困惑的事情:

 public class A{
      public A(){ 
          //constructor
      }
      public void foo(){
            //implementation ommitted
      }
 }

 public class B{
      public void bar(){
           A a = new A(){ 
                { foo(); }
           }
      }
 }
Run Code Online (Sandbox Code Playgroud)

在调试模式下运行代码后,我发现在{ foo() }调用构造函数后调用匿名块A().上述功能与以下功能有何不同:

 public void bar(){
       A a = new A();
       a.foo();
 }
Run Code Online (Sandbox Code Playgroud)

?我认为它们在功能上是等价的,并且认为后一种方式是更好/更清晰的编写代码的方式.

java anonymous-class

8
推荐指数
1
解决办法
2762
查看次数

当像这样在Java中使用Braces块时?

在此输入图像描述

请看上面的图片(来自Wrox Beginning Spring的书)

我有这个问题是什么{}?

是构造函数吗?功能块?是"accountsMap"的块吗?它是什么 ?

请在java中解释这个功能?这个功能的名称是什么?

java

7
推荐指数
1
解决办法
142
查看次数

如何初始化匿名类的对象?

我们不能在匿名类中声明构造函数.但是如果我需要使用局部变量的值初始化匿名类的对象的状态,我该怎么做?

java constructor inner-classes

2
推荐指数
1
解决办法
135
查看次数

为什么getX()方法首先执行而不是构造函数

在下面的代码中,为什么该getX()方法首先执行而不是构造函数:

public class ConsructorQuestion {

    int x = getX();  // same this.getX();
    public int getX() {
        System.out.println(x + "  via method  ");
        return 10;
    }

    public ConsructorQuestion() {
        System.out.println(x+"  via constructor");
    }

    public static void main(String[] args) {
        ConsructorQuestion t = new ConsructorQuestion();
    }

}
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
2
解决办法
93
查看次数