jdk8lambda

package 练习;

public class test {
/**
* 静态内部类 static class love implements ilove{
*
* @Override public void love(int a) {
* System.out.println("i love you"+a);
* }
* }
*/
public static void main(String[] args) {
/**局部内部类 class love implements ilove{
@Override public void love(int a) {
System.out.println("i love you"+a);
}
}*/
/**匿名内部类ilove love=new ilove() {
@Override public void love(int a) {
System.out.println("i love you"+a);
}
};*/
//lambda简化式
ilove love = (int a) -> {
System.out.println("i love you" + a);
};
//简化二去掉参数类型
love=(a)->{
System.out.println("i love you" + a);
};
//简化三去括号
love=a->{
System.out.println("i love you" + a);
};
//简化四去花括号
love=a->System.out.println(a+"i love you" + a);
//只有一行代码的情况下才能简化为一行;如果有多行必须用代码块包裹(花括号)
//简化前提必须是函数式接口(接口里只有一个方法)
//多个参数也可以去掉参数类型,要去掉就都要去,必须加上括号




//父类指向子类 ilove love = new love();

love.love(521);
}

}

//函数式接口
interface ilove {
void love(int a);
}
/**
* 实现类 class love implements ilove{
*
* @Override public void love(int a) {
* System.out.println("i love you"+a);
* }
* }
*/
posted @ 2021-09-26 23:43  爱笙灬  阅读(27)  评论(0)    收藏  举报