Java闭包和回调
Java中的闭包与回调可以通过成员内部类来实现。
简单的来说闭包就是返回一个内部类对象,这个内部类对象包含了外部类对象的信息(因为一个内部类对象定依托于一个外部类对象)。
回调就是在闭包的基础上实现的,返回的内部类对象可以调用外部类中的方法。
例子:(不是很具有代表性)
public class Class {private int classId;
private String className;
public Class() {
}
public Class(int classId, String className) {
this.classId = classId;
this.className = className;
}
public int getClassId() {
return classId;
}
public void setClassId(int classId) {
this.classId = classId;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
private class Student{
private int studentNumber;
private String monitor;
public Student(int studentNumber, String monitor) {
this.studentNumber = studentNumber;
this.monitor = monitor;
}
public int getStudentNumber() {
return studentNumber;
}
public void setStudentNumber(int studentNumber) {
this.studentNumber = studentNumber;
}
public String getMonitor() {
return monitor;
}
public void setMonitor(String monitor) {
this.monitor = monitor;
}
public String getClassInfo(){
String info = getClassId() + getClassName();
return info;
}
}
public Student getStudent(){
return new Student(45,"张三");
}
public static void main(String[] args) {
Class c1 = new Class(1,"软件工程2016-2班");
System.out.println(c1.getStudent().getClassInfo());
}
}
定义了Class类的对象后,可以通过其成员方法getStudent()获取一个内部类对象,取得其内部类对象后通过调用内部类对象的getClassInfo()方法获取班级信息,此方法中调用的是外部类中的方法从而实现回调。
以上是 Java闭包和回调 的全部内容, 来源链接: utcz.com/z/390029.html