这个Java代码结构的术语是什么?

时间:2014-12-31 05:41:56

标签: java

我现在在Java中更频繁地使用它,但我不知道它叫什么。本质上,有一个函数将一个类型作为一个参数,在函数中有一些可以使用的重写函数/方法。这些函数可以在主类公开的函数中执行。例如:

public class Whatisthis {

    private OtherLibsomeCallback theCallback;

    public void dothatthang{

        //What do you call this kind of code structure?
        someCallback(window, theCallback = new OtherLibsomeCallback() {

            @Override
            public void invoke(long a, double b) {
                // TODO Auto-generated method stub
                globalVar = a + b;
            }
        });
    } 
}

3 个答案:

答案 0 :(得分:2)

这被称为Anonymous类。

这是来自Oracle文档:

Anonymous classes enable you to make your code more concise. They enable you to declare and instantiate a class at the same time. They are like local classes except that they do not have a name.

答案 1 :(得分:0)

你可以说是短手编码技术。

代码使用Anonymous class作为函数的参数。

答案 2 :(得分:0)

这是匿名内部课程

可以通过多种方式声明。当你想要覆盖基类/接口的某些特性(主要是抽象类/接口)时,它主要用于它。它给出了纯粹的继承特征。它也在@Abhishek说的同时宣布和实例化。

您还可以在方法调用中使用匿名内部类:

object.someMethod(new Object(){
    // you can override method here
  });