奇怪的java构造函数语法

时间:2014-02-20 08:53:13

标签: java oop

似乎使用继承/重写方法创建了ActionListener对象。这个语法有一些特殊的名字吗?

btnLocationDev.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
               ...
    }
});

3 个答案:

答案 0 :(得分:3)

它被称为匿名内部类。您刚刚创建了一个实现ActionListener的匿名内部类的实例。

答案 1 :(得分:3)

这是annonymous内部阶级。 。

答案 2 :(得分:3)

那是匿名内部课程。实际上,在创建一个对象的实例(例如重载方法)时,它实际上可以派上用场,而不必实际为子类创建子类。我主要是在想要附加一个列表器时使用它。

当您按常规方式附加一个列表器时,您必须重载每个方法,但是当您使用匿名内部类时,您只需重载所需的方法。

button.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
        // Method to be used.
    }
});