原始写法

interface User{
String UserName(String name);
}
class Iuser implements User{

@Override
public String UserName(String name) {
return "我是"+name;
}
}

public class Lambda01 {

public static void main(String[] args) {
User user = new Iuser();
String userName = user.UserName("阿鑫");
System.out.println(userName);

}
}

静态内部类

interface User {
String UserName(String name);
}

public class Lambda01 {

static class Iuser implements User {

@Override
public String UserName(String name) {
return "我是" + name;
}
}

public static void main(String[] args) {
User user = new Iuser();
String userName = user.UserName("阿鑫");
System.out.println(userName);

}
}

局部内部类

interface User {
String UserName(String name);
}

public class Lambda01 {
public static void main(String[] args) {
class Iuser implements User {

@Override
public String UserName(String name) {
return "我是" + name;
}
}

User user = new Iuser();
String userName = user.UserName("阿鑫");
System.out.println(userName);

}
}

匿名内部类

interface User {
String UserName(String name);
}

public class Lambda01 {
public static void main(String[] args) {
User user = new User() {
@Override
public String UserName(String name) {
return "我是"+name;
}
};

String userName = user.UserName("阿鑫");
System.out.println(userName);

}
}

Lambda

interface User {
String UserName(String name);
}

public class Lambda01 {
public static void main(String[] args) {
User user = (name) -> {
return "我是"+name;
};

String userName = user.UserName("阿鑫");
System.out.println(userName);

}
}