I have an example class defined like below:
public class FooBar {
void method1(Foo foo){ // Should be overwritten
...
}
}
Later,
Try this.
@SafeVarargs
public static void runWithObject(T object, Consumer... progs) {
for (Consumer prog : progs)
prog.accept(object);
}
and
runWithObject(
new FooBar() {
String name = null;
@Override
void method1(Foo foo) {
System.out.println("name=" + name);
}
},
object -> object.name = "Test",
object -> object.method1(new Foo())
);
result:
name=Test
Or you can use var
like this in Java 10 or later.
var fooBar = new FooBar() {
public String name = null;
@Override
void method1(Foo foo) {
System.out.println("name=" + name);
}
};
fooBar.name = "Test";
fooBar.method1(new Foo());