N种内部类及Lambda表达式
作者:互联网
N种内部类及Lambda表达式
内部类简介
- 静态内部类:被static修饰的类
- 局部内部类:在方法内部的类
- 匿名内部类:没有类名的类
注意:内部类都是在一个类的内部
Lambda简介
Lambda 表达式是 JDK8 的一个新特性,可以取代大部分的匿名内部类,写出更优雅的 Java 代码,尤其在集合的遍历和其他集合操作中,可以极大地优化代码结构。
函数式接口:只有一个抽象方法的接口
注意:Lambda表达式只有在函数式接口时才能使用。
示例代码
package com.edgar.lesson02;
public class TestLambda {
//3.静态内部类--被static修饰
static class Like2 implements Ilike{
@Override
public void lambda() {
System.out.println("I like lambda2!!");
}
}
public static void main(String[] args) {
Ilike like= new Like();
like.lambda();
like=new Like2();
like.lambda();
//4.局部内部类--在方法中的类
class Like3 implements Ilike{
@Override
public void lambda() {
System.out.println("I like lambda3!!");
}
}
like=new Like3();
like.lambda();
//5.匿名内部类--没有类名的类
like=new Ilike() {
@Override
public void lambda() {
System.out.println("I like lambda4!!");
}
};
like.lambda();
//6.lambda表达式
like=()->{
System.out.println("I like lambda5!!");
};
like.lambda();
}
}
//1.定义一个函数式接口--接口只有一个抽象方法
interface Ilike{
void lambda();
}
//2.实现类
class Like implements Ilike{
@Override
public void lambda() {
System.out.println("I like lambda!!");
}
}
标签:内部,void,Ilike,like,类及,Lambda,public,表达式,lambda 来源: https://www.cnblogs.com/edgarstudy/p/14651324.html