用new运算符无法理解java语句

Nia*_*ang 0 java new-operator

通常,new ObjClass(args)用来创建新对象,如何理解这一个?

    import org.jzy3d.plot3d.builder.Mapper;
    ......
    Mapper mapper = new Mapper() {
        public double f(double x, double y) {
            return 10 * Math.sin(x / 10) * Math.cos(y / 20) * x;
        }
    };
Run Code Online (Sandbox Code Playgroud)

Lui*_*oza 5

如果Mapper是一个类,那么它会创建一个扩展它的匿名类.如果Mapper是一个final类,那么这段代码将无法编译.

如果Mapper是interface,那么它会创建一个实现它的匿名类.

更多信息: