package SimpleTest;
public class Test05 {
public static void main(String[] args) {
use_e(s -> System.out.println(s));
use_e(System.out::println);
System.out.println("上述两个的方法的输出是一样的");
}
private static void use_e(e e1){
e1.printe("别流泪心酸,永不应舍弃!");
}
}
interface e{
void printe(String s);
}
class test05_2{
public static void main(String[] args) {
use_f(i -> System.out.println(i));
use_f(System.out::println);
}
static void use_f(f f1){
f1.printfs(100);
}
}
interface f{
void printfs(int i);
}
package SimpleTest;
public class Test06 {
public static void main(String[] args) {
gimplement((s)->{return Integer.parseInt(s);});
gimplement(s -> Integer.parseInt(s));
gimplement(Integer::parseInt);
}
public static void gimplement(g g1){
int num = g1.transfom("600");
System.out.println(num);
}
}
interface g{
int transfom(String s);
}
package SimpleTest;
public class Test07 {
public static void main(String[] args) {
himplement(s -> System.out.println(s.toUpperCase()));
himplement(String::toUpperCase);
printstr p1 = new printstr();
himplement(p1::printupps);
}
public static void himplement(h h1){
h1.printupp("spirit is important");
}
}
class printstr{
void printupps(String s){
System.out.println(s.toUpperCase());
}
}
interface h{
void printupp(String s);
}
package SimpleTest;
public class Test08 {
public static void main(String[] args) {
use_i((s,x,y)->s.substring(x,y));
use_i(String::substring);
}
private static void use_i(i i1){
String a = i1.substr("你好呀,Java!", 4, 9);
System.out.println(a);
}
}
interface i{
String substr(String s,int x,int y);
}
package SimpleTest;
public class Test09 {
public static void main(String[] args) {
use_j((name, age) -> new stu(name,age));
use_j((name, age) -> new stu());
use_j(stu::new);
}
static void use_j(j j1){
stu s1 = j1.build("棋棋", 21);
System.out.println(s1.getName()+" "+s1.getAge());
}
}
interface j{
stu build(String name,int age);
}
class stu{
String name;
int age;
public stu() {
}
public stu(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}