Functional Interfaces turn this: glfwSetFramebufferSizeCallback(window, (framebufferSizeCallback = new GLFWFramebufferSizeCallback() { @Override public void invoke(long window, int width, int height) { onResize(width, height); } })); Into this: glfwSetFramebufferSizeCallback(window, (framebufferSizeCallback = GLFWFramebufferSizeCallback.create(this::onResize)));