OnJava8-Examples/functional/MultiUnbound.java
2015-12-15 11:47:04 -08:00

37 lines
977 B
Java

// functional/MultiUnbound.java
// (c)2016 MindView LLC: see Copyright.txt
// We make no guarantees that this code is fit for any purpose.
// Visit http://mindviewinc.com/Books/OnJava/ for more book information.
// Unbound methods with multiple arguments
class This {
void two(int i, double d) {}
void three(int i, double d, String s) {}
void four(int i, double d, String s, char c) {}
}
interface TwoArgs {
void call2(This _this, int i, double d);
}
interface ThreeArgs {
void call3(This _this, int i, double d, String s);
}
interface FourArgs {
void call4(
This _this, int i, double d, String s, char c);
}
public class MultiUnbound {
public static void main(String[] args) {
TwoArgs twoargs = This::two;
ThreeArgs threeargs = This::three;
FourArgs fourargs = This::four;
This _this = new This();
twoargs.call2(_this, 11, 3.14);
threeargs.call3(_this, 11, 3.14, "Three");
fourargs.call4(_this, 11, 3.14, "Four", 'Z');
}
}